Skip to main content
  1. Learn center
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Git-Befehle und -Einstellungen
  6. Git-Commit-Verlaufsbefehle
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Git-Commit-Verlaufsbefehle


Ändern von früheren Commits und Meldungen

$ git commit --amend

Fügen Sie die Option --amend hinzu, um den letzten Commit des Branches, an dem Sie arbeiten, zu überschreiben.

Wenn sich keine Dateien in einem Index befinden, können Sie den früheren Commit mit der Option --amend wiederherstellen und werden aufgefordert, die bestehende Commit-Meldung zu bearbeiten.

Siehe:

Ändern und Verschieben früherer Commits und Meldungen

$ git rebase -i <commit>

Fügen Sie einen Commit-Hash hinzu, um eine Liste aller Commits bis zum letzten Commit anzuzeigen. Suchen Sie den Commit, den Sie ändern möchten, und ändern Sie die Zeile von pick in edit. Speichern Sie anschließend, und beenden Sie den Editor.

Im nächsten Schritt fügen Sie die Option --amend hinzu, um den Commit auszuführen. Es wird ein Bildschirm zum Hinzufügen einer Meldung angezeigt. Ändern Sie die Meldung.

$ git commit --amend

Fügen Sie abschließend die Option --continue hinzu, um den Rebase-Vorgang auszuführen.

$ git rebase --continue

Siehe:

Beenden des Rebasings

$ git rebase --abort

Wenn Sie die Option --abort hinzufügen, können Sie den Rebase-Vorgang abbrechen.

Anzeigen des Referenzprotokolls

$ git reflog

Mit dem reflog-Befehl können Sie eine Liste der Commits anzeigen, die HEAD in der Vergangenheit angezeigt hat.

08084a5 HEAD@{0}: commit: append description of the pull command
  99daed2 HEAD@{1}: commit: append description of the commit command
  48eec1d HEAD@{2}: checkout: moving from main to issue1
  326fc9f HEAD@{3}: commit: append description of the add command
  48eec1d HEAD@{4}: commit (initial): first commit

Es werden sowohl gelöschte als auch erfolgreiche Commits angezeigt, die beim Rebase-Vorgang erfasst wurden.

Anzeigen des Referenzprotokolls der Branch-Spitze

$ git reflog <ref>

Dadurch wird eine Liste von Commits für jedes Mal angezeigt, wenn die <ref>-Spitze geändert wurde, die der im Folgenden angezeigten Liste ähnelt.

445e0ae issue1@{0}: commit (merge): Merge branch 'main' into issue1
1c904bd issue1@{1}: commit (amend): modify description of the pull command
08084a5 issue1@{2}: commit: append description of the pull command
99daed2 issue1@{3}: commit: append description of the commit command
48eec1d issue1@{4}: branch: Created from 48eec1ddf73a7fb508ef664efd6b3d873631742f

Wir können den Rebase-Verlauf sowohl von gelöschten als auch von bestehenden Commits anzeigen.

Entfernen eines früheren Commits

$ git reset --hard HEAD~

Siehe:

Zurücksetzen des Rebasings

$ git reset --hard <commit>

Verwenden Sie den reflog-Befehl um Commits zu suchen, bevor sie rebased wurden. Ermitteln Sie den Commit-Hash oder den [HEAD@{number}]-Wert des Commits, der vor dem Rebasing stattgefunden hat. In diesem Beispiel sind 71bdfbd und HEAD@{4} die Verweise auf den Commit.

a51f8d2 HEAD@{0}: rebase -i (finish): returning to refs/heads/dev
  a51f8d2 HEAD@{1}: rebase -i (squash): update 1
  3a273e1 HEAD@{2}: rebase -i (squash): updating HEAD
  f55ef69 HEAD@{3}: checkout: moving from dev to f55ef69
  71bdfbd HEAD@{4}: commit: update 2
  f55ef69 HEAD@{5}: commit (amend): update 1

Fügen Sie den Hash-Wert (71bdfbd und HEAD@{4}) zu <commit> hinzu, wenn Sie den reset-Befehl ausführen.

Die Kopfposition des Branches wird nun auf den Commit vor der Ausführung des Rebasings verschoben. Der Zustand des Branches ist nun derselbe wie vor der Ausführung des Rebasings.

Abbrechen eines früheren Rücksetzvorgangs

$ git reset --hard ORIG_HEAD

ORIG_HEAD bezieht sich auf den Commit vor dem Zurücksetzen. Sie können das vorherige Zurücksetzen rückgängig machen, indem Sie „reset to ORIG_HEAD“ verwenden.

Kopieren eines Commits von einem anderen Branch

$ git cherry-pick "<commit>"

Der durch den Hash-Wert identifizierte Commit wird in den aktuellen Branch kopiert.

Siehe:

Suchen nach einer Commit-Meldung

$ git log --grep "<pattern>"

Zeigt Commits mit dem in <pattern> angegebenen Text an.

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life