Git –最後のコミットを取り消す方法は?
Gitでは、git reset --soft HEAD~1
を使用して、ローカルでの最後のコミットを元に戻すことができます。 (コミットされたファイルはリモートgitサーバーにプッシュされていません)
1. ケーススタディ
git commit
で、不要なtarget/*
ファイルが誤ってコミットされていることがわかりました。git push
を発行していません。コミットを元に戻す方法はありますか?
ターミナル
$ git commit -m "test uncommit" [master f5f3fa6] test uncommit 3 files changed, 3603 insertions(+) create mode 100644 src/main/java/com/example/benchmark/BenchmarkMap.java create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_forwardLoop_jmhTest.java create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType.java
2. 溶液
このgitコマンドgit reset --soft HEAD~1
は、最後のコミットを元に戻し、誤ってコミットされたファイルをステージング領域に戻します。
ターミナル
$ git reset --soft HEAD~1 $ git status On branch master Your branch is up to date with 'origin/master'. Changes to be committed: (use "git reset HEAD..." to unstage) new file: src/main/java/com/example/benchmark/BenchmarkMap.java new file: target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_forwardLoop_jmhTest.java new file: target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType.java
完了しました。
Note
この記事に興味があるかもしれません:list all committed files