Git - Как отменить последний коммит?
В Git мы можем использоватьgit reset --soft HEAD~1, чтобы отменить последнюю фиксацию в local. (Принятые файлы не были отправлены на удаленный сервер 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. Решение
Эта команда gitgit 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