Wenn man eine Filiale auschecken würde:
git checkout 760ac7e
von zB b9ac70b
wie kann man zum letzten bekannten Kopf zurückkehren, b9ac70b
ohne dessen SHA1 zu kennen?
Wenn Sie sich erinnern, welcher Zweig zuvor ausgecheckt wurde (z. B. master
), können Sie dies einfach tun
git checkout master
aus dem losgelösten HEAD- Zustand herauskommen .
Generell: git checkout <branchname>
bringt Sie da raus.
Wenn Sie sich nicht an den Namen des letzten Zweigs erinnern, versuchen Sie es
git checkout -
Dadurch wird auch versucht, Ihren zuletzt ausgecheckten Zweig auszuchecken.
git checkout -
- Killer-Feature!git checkout -b new_branch_name
, verlieren Sie die im getrennten HEAD-Status vorgenommenen Commits?git gc
sie ausgeführt werden, werden sie für immer entfernt. Sie können sie beobachten,git reflog
solange sie noch da sind.Verwenden
git reflog
Sie diese Option, um die Hashes zuvor ausgecheckter Commits zu finden.Ein Verknüpfungsbefehl, um zu Ihrem zuletzt ausgecheckten Zweig zu gelangen (nicht sicher, ob dies mit getrenntem HEAD und Zwischen-Commits korrekt funktioniert), lautet
git checkout -
quelle
Ich hatte diesen Randfall, in dem ich eine frühere Version des Codes ausgecheckt habe, in der meine Dateiverzeichnisstruktur anders war:
In einem solchen Fall müssen Sie möglicherweise --force verwenden (wenn Sie wissen, dass es sicher ist, zum ursprünglichen Zweig zurückzukehren und Änderungen zu verwerfen).
git checkout master
funktioniert nicht:git checkout master --force
(odergit checkout master -f
) gearbeitet:quelle
Möglicherweise haben Sie im
detached HEAD
Bundesstaat einige neue Verpflichtungen eingegangen. Ich glaube, wenn Sie andere Antworten empfehlen:dann können Sie Ihre Commits verlieren !! Stattdessen möchten Sie möglicherweise Folgendes tun:
und dann
commits-from-detached-head
in einen beliebigen Zweig einbinden, damit Sie die Commits nicht verlieren.quelle