[git] 困った時のコマンド集(直前の commit を修正したい)

git

確認したつもりでも、commit したあとに、ちょっとした修正(例えばコメントのTypo修正とか)したい となった時の対応方法を説明します。

環境&対象

以下の環境で動作確認を行なっています。

  • git version 2.30.1 (Apple Git-130)

説明したいこと

git に commit してから、「あっ、このファイルのコメント typo してるじゃん」と気づくことがあります。

複数のファイルを見渡してみると、コメントの整合性が取れていないとか、削除したと思っていたデバッグコードがコメントとして残っていたり・・・

もう commit しちゃったし・・・

そのような時の対応方法を説明します。

追加で commit

シンプルに、追加で、もう1回 commit するのも、1つの手です。

git commit

以下の手順となります。

もう1回 commit を行う方法には、以下のメリット・デメリットがあります。

メリット

  • もう1回 commit するだけなので、操作を間違えてリポジトリを壊すおそれがほとんどない
  • シンプル

デメリット

  • コメント修正だけの履歴が残る
  • レビューするときに 多くの履歴をチェックする必要があり手間が増える
  • 恥ずかしい
MEMO
リモートに push するときに、手間をかけて 履歴をきれいに修正するという選択もありますが、個人的には、忘れる前に修正したくなります。

直前の commit を修正

注意
以下の方法は、リモートリポジトリに変更を push していない時にのみ使用してください。

push しているリポジトリを 修正後に push しようとすると、リモートリポジトリとの整合性が失われているため -force を使う必要等が発生します。

git commit amend オプション

以下の手順となります。

MEMO

–no-edit を指定することで、直前の commit のコメントを変更せずに修正していますが、

とすることで、コメントもあわせて修正することができます。

まとめ:直前の commit の修正方法

直前の commit の修正方法
  • すでに、remote に push してしまっていたら、あきらめて、新しく commit する
  • git commit の amend オプションを使うと、直前の commit を修正することができる

説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です