QA@IT

Gitで新規コミットを間違えて直前のコミットにamendした。分割できる?

6750 PV
$ git commit -am 'feature A'
$ (EDIT)
$ git commit -am 'feature B'

とすべきところを誤って、

$ git commit -am 'feature A'
$ (EDIT)
$ git commit --amend

としてしまいました。feature Bであるべきコミットがfeature Aのコミットに混じっています。
修正するには?

回答

git reflog で、元に戻せます。

$ git reflog
146c378 HEAD@{0}: commit (amend): feature A
850eb53 HEAD@{1}: commit: feature A
10f3d88 HEAD@{2}: checkout: moving from master to feature
5b017ee HEAD@{3}: commit: something
 :
 :

とあれば、amendする前の状態に戻すのは、

$ git reset HEAD@{1}

でOKです。

amendに限らず、resetでコミットを消してしまったときなどでも元に戻せます。

参考:

編集 履歴 (2)
ウォッチ

この質問への回答やコメントをメールでお知らせします。