Git – amend – 直前のコミットの修正

概要

git commit --amendは、直前のコミットの内容を修正する。

  • 直前のコミットが対象→2つ以上前のコミットは修正できない
  • コミットメッセージの修正
  • ファイルなどのコミット追加→ファイルなどの削除はできない

参考サイト:コミットの修正には git commit –amend が便利

準備

以下のローカルリポジトリーexampleを使う。

ファイル作成とファイル修正の2つのコミット。

コミット後のファイルの内容。

直前のコミットのコメントを修正する

エディターでコメント修正

以下のコマンドを実行するとエディター画面が開く。

git commit --amend

エディターに現在のコミットメッセージが表示されているので、必要な内容に変更する。

以下のように修正して保存・エディター終了。

エディターを終了すると、コマンドラインに実行結果が表示されている。

ログを確認すると、変更が反映されている。

コマンドラインでコメント設定

-mオプションでコミットメッセージを指定すると、エディターは起動せず、指定した内容でメッセージが書き換えられる。

git gommit --amend -m "メッセージ"

ログで確認。

直前のコミットに追加修正する

既存ファイルを修正~メッセージ変更なし

以下のコマンドは、コミットメッセージの編集をしない。ステージングされている操作があればコミットに追加される。

git commit --amend --no-edit

たとえばsample.txtにもう1行追加する作業を忘れていて、これを最後のコミットに加えたいとする。

git addした後、amendを実行。

git log -pで確認すると、最後のコミットで2行追加されている。コミットメッセージは変わっていない。

新たなファイルを追加~追加とメッセージ変更

たとえば別のファイルsample2.txtを作成し、これも最後のコミットに追加したいとする。

git addでステージングし、amendを実行する。今度は--no-editではなく、-mオプションで新たにファイルを追加したメッセージに変更。

git log -pで確認すると、最後のコミットにsample.txtの2つの追加とsample2.txtの追加が全て盛り込まれている。

 

コメントを残す

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