Über das 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 der Git-Terminologie ist "HEAD" der Verweis, der auf die Spitze oder den neuesten Commit einer bestimmten Verzweigung in Ihrem Repository verweist. Ein "detached HEAD"-Zustand bedeutet, dass HEAD auf einen bestimmten Commit verweist, jedoch nicht auf einem benannten Zweig in Ihrem Repository.
Hinweis
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 du die verlorenen Commits wiederherstellen musst, findest du unter Problembehandlung weitere Informationen.
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 Element Current Branch auf der Repositoryleiste zeigt nun „Detached HEAD“ mit dem SHA des ausgecheckten Commits an.

-
Um den "detached HEAD"-Zustand zu beenden, müssen Sie den Branch wechseln. Weitere Informationen finden Sie unter Verwalten von Branches in GitHub Desktop.
Problembehandlung
Sie können Commits wiederherstellen, die im Zustand eines "detached HEAD" vorgenommen wurden, indem Sie den git reflog-Befehl über die Git-Befehlszeile verwenden. 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 er während des Repositorys in einem "detached HEAD"-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
-
[Detached HEAD](https://git-scm.com/docs/git-checkout#_detached_head) in der Git-Dokumentation -
[Git cherry-pick](https://git-scm.com/docs/git-cherry-pick) in der Git-Dokumentation