開発者ドキュメント

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/mkyong/benchmark/BenchmarkMap.java
 create mode 100644 target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkForwardReverseLoop__forwardLoop__jmhTest.java
 create mode 100644 target/generated-sources/annotations/com/mkyong/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 <file>..." to unstage)

        new file:   src/main/java/com/mkyong/benchmark/BenchmarkMap.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkForwardReverseLoop__forwardLoop__jmhTest.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkForwardReverseLoop__jmhType.java

完了しました。

参考文献

  1. link://git/git-how-to-remove-files-staging-committed-changes-to-commit/Git

    • ステージングからファイルを削除する方法]。リンク://git/git-how-to-list-committed-files-that-going-to-push/[Git

    • プッシュしようとしているコミットされたファイルを一覧表示する方法?]。

      gitドキュメントをリセット

モバイルバージョンを終了