Git Dreizehnte Vorlesung Git-Reset- und Rollback-Änderungen

Bei der Verwendung von Git kann es manchmal vorkommen, dass wir Fehler machen oder frühere Commits oder Änderungen rückgängig machen müssen. Git bietet einige leistungsstarke Befehle zum Zurücksetzen und Rollback von Änderungen, die uns bei der Verwaltung der Versionskontrolle des Projekts helfen. In diesem Artikel wird erläutert, wie Sie Git zum Durchführen von Reset- und Rollback-Vorgängen verwenden.

Auf den angegebenen Commit zurücksetzen

Mit dem Reset-Befehl können wir den Verzweigungszeiger auf einen bestimmten Commit verschieben und haben gleichzeitig die Möglichkeit, mit früheren Änderungen umzugehen. Dies ist nützlich für Szenarien, in denen Sie einen Commit rückgängig machen oder von vorne beginnen müssen.

Um den Branch auf einen bestimmten Commit zurückzusetzen, kann der folgende Befehl verwendet werden:

git reset <commit>

Wo <commit>ist der Hash, der Zweigname oder eine andere Referenz des Ziel-Commits?

Der Reset-Befehl verfügt über verschiedene Optionen, zu den häufig verwendeten gehören:

  • --soft: Verschieben Sie den Verzweigungszeiger auf das angegebene Commit, ohne das Arbeitsverzeichnis und den Staging-Bereich zu ändern. Frühere Änderungen bleiben erhalten und können erneut übermittelt werden.
  • --mixed: Die Standardoption verschiebt den Verzweigungszeiger und setzt den Staging-Bereich zurück, ändert jedoch nicht das Arbeitsverzeichnis. Vorherige Änderungen werden nicht mehr bereitgestellt und müssen vor dem Festschreiben wieder zum Staging-Bereich hinzugefügt werden.
  • --hard: Die gründlichste Option zum Zurücksetzen: Verschieben Sie den Verzweigungszeiger, setzen Sie den Staging-Bereich und das Arbeitsverzeichnis zurück und verwerfen Sie die vorherigen Änderungen vollständig. Verwenden Sie diese Option mit Vorsicht, da verlorene Änderungen nicht wiederhergestellt werden können.

Um beispielsweise den Zweig auf den vorherigen Commit zurückzusetzen und die Änderungen für einen erneuten Commit beizubehalten, können Sie den folgenden Befehl ausführen:

git reset --soft HEAD^

Rollback-Commit

Rollback (Revert) ist der Vorgang, bei dem ein oder mehrere Commits rückgängig gemacht werden, anstatt den Verzweigungszeiger zu verschieben. Beim Zurücksetzen wird ein neues Commit erstellt, das die zuvor festgeschriebenen Änderungen rückgängig macht und die rückgängig gemachten Änderungen zum Projektverlauf hinzufügt.

Um einen Commit rückgängig zu machen, kann der folgende Befehl verwendet werden:

git revert <commit>

Wo <commit>ist der Hash des Ziel-Commits für das Rollback?

Der Rollback-Befehl öffnet den Standardeditor, in dem Sie die Nachricht des Rollback-Commits schreiben können. Nach dem Speichern und Schließen des Editors erstellt Git einen neuen Commit und fügt die rückgängig gemachten Änderungen zum Projektverlauf hinzu.

Kraftschub

Nach einem Reset oder Rollback müssen Sie möglicherweise Force Push verwenden, um Änderungen aufgrund von Änderungen im Zweigverlauf an das Remote-Repository zu übertragen.

Hinweis: Durch erzwungenes Pushen wird der Verlauf im Remote-Zweig überschrieben. Gehen Sie bei diesem Vorgang mit Vorsicht vor und stellen Sie sicher, dass Sie wissen, was Sie tun.

Um einen Force-Push durchzuführen, können Sie den folgenden Befehl verwenden:

git push -f

Beachten Sie, dass Force-Pushing den Verlauf im Remote-Zweig ersetzt, was möglicherweise zu Verlusten oder Konflikten mit der Arbeit anderer Personen führt. Wenn Sie Force Push in der Teamzusammenarbeit verwenden, stellen Sie sicher, dass Sie gut mit den Teammitgliedern kommunizieren und den Zusammenarbeitsprozess befolgen.

Zusammenfassung

In Git geben uns Reset- und Rollback-Vorgänge die Flexibilität und Kontrolle, Projektversionen zu verwalten. Mit einem Reset können wir den Verzweigungszeiger verschieben und vorherige Änderungen nach Bedarf verarbeiten. Beim Rollback machen wir die übernommenen Änderungen rückgängig und fügen die rückgängig gemachten Änderungen dem Projektverlauf hinzu. Denken Sie jedoch daran, diese Vorgänge mit Vorsicht zu verwenden und stellen Sie sicher, dass Sie ihre Auswirkungen verstehen.

Guess you like

Origin blog.csdn.net/huanglu0314/article/details/131157545