2013年05月02日
git commit --amend を省力化する方法
Git で最後のコミットを修正するときには git commit --amend
を使うんだけども、いままでは
git add .
git commit --amend
- エディターが立ち上がって、前回のコミット メッセージが表示される
- エディターを終了させる
としていた。
この作業は何度も繰り返すと面倒だったので、man を調べてみると --no-edit
なるステキなオプションを発見した。
--no-edit を使う
--no-edit
を指定すると、上の手順はこうなる。
git add .
git commit --amend --no-edit
コミット メッセージはそのままに、コミットの中身だけを書き換えられる。エディターが立ち上がらないので楽チン。
-a でさらに省力化
さらに git add .
も省力化できて
git commit -a --amend --no-edit
とすればよい。
コマンド一発になった。超楽チン。
注意点は次の 2 つ。
- 新しいファイルを追加したときは明示的に add する必要がある。
git add .
とgit commit -a
ではステージするファイルが違うので注意。 - コミットしたくない変更がワーキング ディレクトリーに残ってる状態では使えない。
git stash
するなどでよけておくべし。