最後のコミットを変更するには
インデックス内のファイルを置き換えます。
git rm --cached *.class
git add *.java
次に、プライベートブランチの場合は、コミットを修正します。
git commit --amend
または、それが共有ブランチの場合は、新しいコミットを作成します。
git commit -m 'Replace .class files with .java files'
(以前のコミットを変更するには、素晴らしいインタラクティブリベースを使用してください。)
ProTip™:gitignoreに追加*.class
して、これが再び発生しないようにします。
コミットを元に戻すには
最後のコミットを変更する必要がある場合は、コミットの修正が理想的なソリューションですが、より一般的なソリューションはreset
です。
次のコマンドを使用して、Gitをコミットにリセットできます。
git reset @~N
どこN
のコミットの数が前にありHEAD
、かつ@~
、前にリセットがコミット。
したがって、コミットを修正する代わりに、以下を使用できます。
git reset @~
git add *.java
git commit -m "Add .java files"
チェックアウトgit help reset
、特に上のセクション--soft
--mixed
と--hard
これが何をするかをよりよく理解するため、。
Reflog
失敗した場合は、いつでもreflogを使用して、ドロップされたコミットを見つけることができます。
$ git reset @~
$ git reflog
c4f708b HEAD@{0}: reset: moving to @~
2c52489 HEAD@{1}: commit: added some .class files
$ git reset 2c52489
... and you're back where you started