Git: Wie alles genau auf den Zustand eines früheren zurückzukehren begehen?
Frage
Wenn es hat Commits und viele Veränderungen, da ein früher begehen, ist es eine einfache Möglichkeit, um revert alles auf den genauen Zustand, dass früher begangen?
Wenn ja, ist es möglich, einfach auf den aktuellen Zustand wechseln Sie wieder zu, wenn ich so auch wünschen sollte?
Ich habe erkannt, dass diese alte begehen ist eigentlich die richtige, und will da dann nur als Referenz, alle Änderungen erhalten, aber alle zukünftigen Arbeiten werden basiert auf diesem alten begehen.
Lösung
Es klingt wie Sie Ihre aktuelle Arbeit auf einem Zweig setzen wollen:
git branch saved_work
git reset --hard previouscommit
Nun, Ihr saved_work
Zweig enthält alles, was nach previouscommit
und master
ist zurückgespult zu previouscommit
.
Andere Tipps
Da Sie auf den früheren Zustand zurückkehren wollen:
git stash
git checkout -b new_branch <tree-ish>
Das oben Ihre unbestätigten Änderungen speichern und ermöglicht es Ihnen, eine Niederlassung an den spezifischen verpflichten zu erstellen. Arbeit, wie Sie wollen und später, wenn Sie möchten, den früheren Zustand zu ändern:
git stash
git checkout earlier_branch
Commit Ihre aktuellen Änderungen:
git commit
Dann Kasse des alten begehen:
git checkout yourcommit
eine Option -f Das Hinzufügen alle lokalen Änderungen zerstören.