概要
git commit --amend でひとつ前のコミットをやりなおす
詳細
1つファイルが抜けていた。
コミットコメントを間違えた。
なんていうときに、
git commit --amend
を利用することで、ひとつ前のコミットをやり直すことができます。
コミットコメントだけ変更したい場合
例えば hoge.txt を変更して、「change hoge.txt」とコメントしようとしたら間違えて
「change hige.txt」とコメントしたとします。
間違った状態のログは以下。
$ git log -1 commit 0034615cacddcda033afe3a3d7f9382fc3676e04 Author: <"ユーザー名"> Date: Tue Jun 17 23:22:28 2014 +0900 change hige.txt
git commit --amend -m 'change hoge.txt'
無事変更されました。
$ git log commit ab40d1b01857ba14029417fb46b400237c9e9ea2 Author: <"ユーザー名"> Date: Tue Jun 17 23:22:28 2014 +0900 change hoge.txt
追加でコミットしたいファイルがある場合
例えば hoge.txt だけコミットしたが、hige.txtも一緒にコミットしたかった場合。
$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: hige.txt # $ git log -1 -p commit b68eb91b03dc4443774b1e04d105feee354bd4c9 Author: <"ユーザー名"> Date: Tue Jun 17 23:31:39 2014 +0900 add hoge.txt, hige.txt diff --git a/hoge.txt b/hoge.txt new file mode 100644 index 0000000..2262de0 --- /dev/null +++ b/hoge.txt @@ -0,0 +1 @@ +hoge
直前のコミットにhige.txtを滑り込ませます
git commit --amend -m "add hoge.txt, hige.txt"
$ git log -1 -p commit 8ed8041c647cce36087f11c3cd0eabdf2e6b4445 Author: <"ユーザー名"> Date: Tue Jun 17 23:31:39 2014 +0900 add hoge.txt, hige.txt diff --git a/hige.txt b/hige.txt new file mode 100644 index 0000000..9e4f510 --- /dev/null +++ b/hige.txt @@ -0,0 +1 @@ +hige diff --git a/hoge.txt b/hoge.txt new file mode 100644 index 0000000..2262de0 --- /dev/null +++ b/hoge.txt @@ -0,0 +1 @@ +hoge