最後のコミットを変更するには
インデックス内のファイルを置き換えます。
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