Git - Wie mache ich das letzte Commit rückgängig?

Git - Wie mache ich das letzte Commit rückgängig?

In Git können wirgit reset --soft HEAD~1 verwenden, um das letzte Commit in local rückgängig zu machen. (Die zugesicherten Dateien wurden nicht auf den Remote-Git-Server übertragen.)

1. Fallstudie

git commit und stellen Sie fest, dass einige unerwünschtetarget/*-Dateien versehentlich festgeschrieben wurden. Ich habe diegit push nicht ausgegeben. Haben Sie eine Idee, wie Sie das Festschreiben rückgängig machen können?

Terminal

$ 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. Lösung

Dieser Git-Befehlgit reset --soft HEAD~1 macht das letzte Festschreiben rückgängig und verschiebt die versehentlich festgeschriebenen Dateien zurück in den Staging-Bereich.

Terminal

$ 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

Erledigt.

Note
Dieser Artikel könnte Sie interessieren:list all committed files