Um Ihre aktuellen Änderungen beizubehalten
Sie können Ihre Arbeit aufbewahren, ohne sie zu übertragen, mit git stash
. Sie würden dann git stash pop
um es zurückzubekommen. Oder Sie können (als carleeto sagte) git commit
in einen separaten Zweig.
Checkout nach Datum mit rev-parse
Sie können einen Commit bis zu einem bestimmten Datum auschecken, indem Sie rev-parse
wie diese:
git checkout 'master@{1979-02-26 18:30:00}'
Weitere Einzelheiten zu den verfügbaren Optionen finden Sie in der git-rev-parse
.
Wie in den Kommentaren erwähnt, verwendet diese Methode das Reflog, um den Commit in der Historie zu finden. Standardmäßig sind diese Einträge verfallen nach 90 Tagen . Obwohl die Syntax für die Verwendung von reflog weniger ausführlich ist, können Sie nur 90 Tage zurückgehen.
Auschecken nach Datum mit rev-list
Die andere Möglichkeit, bei der das Reflog nicht verwendet wird, ist die Verwendung von rev-list
um die Übergabe zu einem bestimmten Zeitpunkt mit zu erhalten:
git checkout `git rev-list -n 1 --first-parent --before="2009-07-27 13:37" master`
Beachten Sie die -erster-Elternteil wenn Sie nur Ihre Historie und nicht die durch eine Zusammenführung eingebrachten Versionen haben wollen. Das ist es, was Sie normalerweise wollen.