Ich habe gerade ein früheres Commit von meinem lokalen Git-Repo ausgecheckt. Ich habe keine Änderungen daran vorgenommen, ich habe es nur angeschaut. Jetzt möchte ich zu meinem letzten Commit zurückkehren - wie mache ich das?
Der genaue Befehl, mit dem ich ihn ausgecheckt habe:
git checkout e5dff6b3c5d704f9b598de46551355d18235ac08
Wenn ich jetzt git log eingebe, sehe ich oben dieses ausgecheckte Commit, aber keines meiner späteren Commits. Habe ich diese versehentlich gelöscht?
Antworten:
Versuchen Sie dies zuerst:
(Wenn Sie sich in einem anderen Zweig befinden als
master
, verwenden Sie stattdessen den Namen des Zweigs.)Wenn das nicht funktioniert, versuchen Sie ...
Für eine einzelne Datei:
Für die gesamte Repository-Arbeitskopie:
Und wenn das nicht funktioniert, können Sie im Reflog nach Ihrem alten Kopf-SHA suchen und auf diesen zurücksetzen:
HEAD
ist ein Name, der immer auf das letzte Commit in Ihrer aktuellen Niederlassung verweist.quelle
HEAD
wörtlich. Git weiß schon wasHEAD
bedeutet. Wenn Sie ihm jedoch wirklich, wirklich einen SHA1 geben möchten, können Siegit log
das Festschreibungsprotokoll anzeigen.git reset --hard HEAD
, kehre ich zu diesem ausgecheckten Commit zurück ... Ich werde den genauen Befehl veröffentlichen, den ich zum Auschecken verwendet habe.git rev-parse HEAD
und sehen, dass es Ihnen eine SHA1 gibt, die Ihrem letzten Commit entspricht.)Ähnlich wie in und in der Shell rückgängig
git checkout
machen .git checkout -
cd
cd -
quelle
Sie wollen wahrscheinlich
git checkout master
, odergit checkout [branchname]
.quelle