Git - 最後のコミットを元に戻す方法は?

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