Bei der Verwendung von Git für die Projektentwicklung stoßen wir häufig auf Situationen, in denen wir eine Wiederherstellung auf eine bestimmte Version durchführen müssen. Wenn Sie jedoch den Befehl „git reset“ oder den Befehl „git revert“ verwendet haben, um ein Versions-Rollback durchzuführen, und die vorherige Version wiederherstellen möchten, ist dies dann noch möglich? In diesem Artikel wird dieses Problem für alle im Detail analysiert.
Lassen Sie uns zunächst die Funktionen von Git Reset und Git Revert verstehen.
git-Reset-Befehl: Setzen Sie den HEAD des aktuellen Zweigs auf den angegebenen Commit zurück. Sie können wählen, ob der Staging-Bereich und das Arbeitsverzeichnis auf den angegebenen Commit zurückgesetzt werden sollen.
git revert Befehl: Erstellen Sie einen neuen Commit, um den vorherigen Commit rückgängig zu machen. Sie können den angegebenen Commit oder eine Reihe von Commits rückgängig machen, um einen neuen Commit zu generieren.
Offensichtlich geht mit dem Befehl „git reset“ der vorherige Übermittlungsdatensatz verloren. Auch wenn git log zum Speichern des Übermittlungsverlaufs verwendet wurde, kann er nicht auf die vorherige Version zurückgesetzt werden. Git Revert kann die vorherige Übermittlung rückgängig machen, es wird jedoch ein neuer Übermittlungsdatensatz generiert und der vorherige Übermittlungsdatensatz ist weiterhin vorhanden.
Wenn Sie also den Befehl „git reset“ verwendet haben, ist es dann immer noch möglich, die vorherige Version abzurufen? Die Antwort ist, dass es möglich ist, aber je nach Situation müssen unterschiedliche Methoden gewählt werden.
Szenario 1: Wenn nach dem Zurücksetzen keine anderen Vorgänge ausgeführt werden (z. B. Dateien löschen, neue Dateien erstellen usw.), können Sie sie über den „Referenz“-Mechanismus von Git wiederherstellen.
1. Überprüfen Sie zuerst den Punkt von HEAD, bevor Sie es zurücksetzen:
git reflog
2. Überprüfen Sie den SHA-1-Wert des Commits, bevor Sie es zurücksetzen:
git show HEAD@{n}
git reset HEAD@{n}
git checkout HEAD -- FILENAME
git show HEAD@{n}
git checkout <commit-SHA>
git checkout HEAD -- FILENAME
Das obige ist der detaillierte Inhalt vonKann es wiederhergestellt werden, nachdem Git auf eine bestimmte Version wiederhergestellt wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!