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
完了しました。
参考文献
-
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ドキュメントをリセット
-