Informationen zum Auschecken eines Commits
Wenn Sie einen Commit auschecken, können Sie Ihr Repository in einem vorherigen Zustand anzeigen, ohne eine neue Verzweigung erstellen oder eine vorhandene Verzweigung ändern zu müssen. Dies kann beim Debuggen hilfreich sein, da Sie sehen können, ob ein Fehler in Ihrem Repository bei einem vorherigen Commit vorhanden ist.
Wenn Sie einen Commit auschecken, wird Ihr Repository in einen "getrennten HEAD"-Zustand versetzt. In git-Terminologie ist "HEAD" der Verweis, der auf den Tipp oder den neuesten Commit einer benannten Verzweigung in Ihrem Repository verweist. Ein Status "getrennter HEAD" bedeutet, dass HEAD auf einen bestimmten Commit verweist, aber nicht auf einer benannten Verzweigung in Ihrem Repository.
Note
Alle Commits, die im Zustand „detached HEAD“ vorgenommen wurden, gehen beim Wechseln von Branches verloren, da diese Commits nicht auf einem benannten Branch vorgenommen wurden. Wenn Sie die verlorenen Commits wiederherstellen müssen, lesen Sie "Problembehandlung".
Auschecken eines Commits
-
Klicke auf der linken Randleiste auf Verlauf.
-
Klicken Sie mit der rechten Maustaste auf den Commit, den Sie auschecken möchten, und wählen Sie Commit auschecken.
-
Das Current Branch-Element in der Repositoryleiste zeigt jetzt "ausgeblendeter Kopfteil" zusammen mit der SHA des Commits an, der ausgecheckt wurde.
-
Um den Zustand "ausgeblendeter Kopfteil" zu beenden, müssen Sie zwei Verzweigungen wechseln. Weitere Informationen findest du unter Verwalten von Branches in GitHub Desktop.
Problembehandlung
Sie können Commits wiederherstellen, die mit dem git reflog
Befehl über die Git-Befehlszeile in einem "ausgeblendeten Kopfteil"-Zustand vorgenommen wurden. Sie können Ihr Repository in der Befehlszeile von GitHub Desktop öffnen, indem Sie zur Menüleiste wechseln, Repository auswählen **** und in der Befehlszeile** auf "Öffnen" klicken**.
Der git reflog
-Befehl zeigt die Ausgabe von Ereignissen an, die in Ihrem Repository aufgetreten sind, einschließlich Commits. Nachfolgend finden Sie eine Beispielausgabe des git reflog
-Befehls.
81fa9136f8 (HEAD -> main) HEAD@{0}: checkout: moving from 8bd5e736a27a52a7e36a856b30e6f0582d341aa1 to main
8bd5e736a2 HEAD@{1}: commit: testing out a feature
22fa76c125 HEAD@{2}: checkout: moving from main to 22fa76c1250a2847305b9325752d941dbaa55983
Die 8bd5e736a2 HEAD@{1}: commit: testing out a feature
Zeile ist der Commit, den wir wiederherstellen möchten, da es während des Repositorys in einem "ausgeblendeten Kopfteil"-Zustand ausgeführt wurde. Um es wiederherzustellen, können Sie git cherry-pick 8bd5e736a2
ausführen, um den Commit auf die Current Branch in Ihrem Repository anzuwenden.
Weitere Informationen
- Ausgeblendeter Kopfteil in der Git-Dokumentation
- Git-Cherrypicking in der Git-Dokumentation