Änderungen rückgängig machen

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018

Visual Studio 2019 | Visual Studio 2022

Wenn Sie Änderungen in einem Git-Repository rückgängig machen möchten, entscheiden Sie zuerst, welche Art von Änderung Sie rückgängig machen möchten. Auf diese Weise können Sie z. B. folgende Vorgänge durchführen:

  • Verwerfen Sie ausgecheckte Änderungen an einer Datei, indem Sie die Datei auf die letzte committete Version zurücksetzen. Sie können eine Datei auch auf eine beliebige committete Version zurücksetzen.
  • Setzen Sie einen Branch auf einen vorherigen Zustand zurück, indem Sie ihn auf einen vorherigen Commit zurücksetzen.
  • Machen Sie die von einem freigegebenen Commit vorgenommenen Änderungen rückgängig, indem Sie einen neuen Commit erstellen, der die Änderungen rückgängig macht. Da der vorhandene Commitverlauf bei diesem Ansatz nicht neu geschrieben wird, eignet er sich zum Rückgängigmachen von Änderungen, die von gepushten Commits vorgenommen wurden, die von anderen Benutzern verwendet werden.
  • Ändern Sie den Inhalt oder die Nachricht Ihres letzten Commits. Weitere Informationen finden Sie unter Aktualisieren des letzten Commits.
  • Beheben Sie ein Problem, das in einem vorherigen Commit eingeführt wurde, indem Sie einen neuen Commit erstellen, der den Fix enthält. Weitere Informationen finden Sie unter Erstellen eines Commits.

In diesem Artikel wird Folgendes behandelt:

  • Verwerfen ausgecheckter Änderungen an einer Datei
  • Zurücksetzen eines Branchs in einen vorherigen Zustand
  • Rückgängigmachen der von einem freigegebenen Commit vorgenommenen Änderungen

Verwerfen ausgecheckter Änderungen an einer Datei

Wenn Sie Änderungen an einer Datei vorgenommen haben, ohne sie zu committen, können Sie Git Checkout verwenden, um die Änderungen schnell zu verwerfen und die Datei auf die letzte committete Version zurückzusetzen.

Git checkout kann eine Datei auch auf eine beliebige committete Version zurücksetzen, wenn Sie die Commit-ID angeben.

Warnung

Wenn Sie von Git checkout verworfene Änderungen erneut anwenden möchten, sollten Sie stattdessen ein Stashing für die Änderungen ausführen.

Visual Studio 2022 bietet Git-Versionskontrolle mithilfe des Git-Menüs, Git-Änderungen sowie über Kontextmenüs im Projektmappen-Explorer. Visual Studio 2019, Version 16.8 bietet auch die Team Explorer-Git-Benutzeroberfläche. Weitere Informationen finden Sie auf der Registerkarte Visual Studio 2019 – Team Explorer.

Visual Studio unterstützt das Verwerfen ausgecheckter Änderungen an einer Datei, indem die Datei auf ihre zuletzt committete Version zurückgesetzt wird.

Identifizieren Sie im Fenster Git-Änderungen die Datei mit den Änderungen, die Sie verwerfen möchten. Wenn sich die Datei im Abschnitt für gestagete Änderungen befindet, klicken Sie mit der rechten Maustaste darauf, und wählen Sie Unstagen (Bereitstellung aufheben) aus. Ungestagete Dateien werden im Abschnitt Änderungen angezeigt.

Screenshot: Kontextmenüoptionen für gestagete Dateien in Visual Studio

Wenn sich die Datei im Abschnitt Änderungen befindet, klicken Sie mit der rechten Maustaste darauf, und wählen Sie Änderungen rückgängig machen aus, um alle Änderungen an der Datei seit dem letzten Commit zu verwerfen.

Screenshot: Kontextmenüoptionen für geänderte Dateien in Visual Studio

Zurücksetzen eines Branchs in einen vorherigen Zustand

Sie können einen Branch auf einen vorherigen Zustand zurücksetzen, indem Sie Git Reset verwenden, um den Branch auf einen vorherigen Commit zurückzusetzen. Git reset wirkt sich auf alle Dateien in allen Branchordnern aus.

Git reset verfügt über verschiedene Optionen. Die Standardoption besteht darin, den Branch auf einen vorherigen Commit zurückzusetzen, aber alle nachfolgenden Änderungen als ausgecheckte Änderungen beizubehalten. Eine weitere Möglichkeit, einen Branch auf einen vorherigen Commit zurückzusetzen, besteht darin, alle Änderungen an allen Branchdateien seit diesem Commit zu verwerfen.

Warnung

Setzen Sie einen Branch nicht auf einen Commit vor dem letzten Commit zurück, wenn der letzte Commit gepusht und für andere freigegeben wurde. Dies führt dazu, dass Ihr lokaler Branchverlauf nicht mehr mit dem Remotebranchverlauf übereinstimmt. Informationen zu freigegebenen Branches finden Sie unter Rückgängigmachen der von einem freigegebenen Commit vorgenommenen Änderungen.

  1. Wählen Sie in der Menüleiste Git > Branchverlauf anzeigen aus, um die Registerkarte Verlauf für den aktuellen Branch zu öffnen.

    Screenshot: Option „Branchverlauf anzeigen“ im Git-Menü in Visual Studio

  2. Klicken Sie auf der Registerkarte Verlauf für den aktuellen Branch mit der rechten Maustaste auf den Commit, den Sie zurücksetzen möchten, und wählen Sie dann Zurücksetzen > Änderungen zurücksetzen (--hard) aus, um den Branch auf den ausgewählten Commit zurückzusetzen und alle Änderungen an allen Branchdateien seit diesem Commit zu löschen. Oder wählen Sie Zurücksetzen > Änderungen beibehalten (--mixed) aus, um den Branch auf den ausgewählten Commit zurückzusetzen und alle nachfolgenden Änderungen als ungestagete Änderungen beizubehalten.

    Screenshot: Option „Zurücksetzen“ im Kontextmenü für einen Commit im Fenster „Verlauf“ in Visual Studio

Rückgängigmachen der von einem freigegebenen Commit vorgenommenen Änderungen

Sie können die von einem Commit vorgenommenen Änderungen rückgängig machen, indem Sie Git Revert verwenden, um einen neuen Commit zu erstellen, der diese Änderungen rückgängig macht. Der ursprüngliche Commit wird von Git revert nicht gelöscht. Dieser Ansatz eignet sich für das Rückgängigmachen der Änderungen, die von einem freigegebenen Commit vorgenommen wurden, da Git revert den vorherigen Commitverlauf nicht ändert, sodass der lokale Verlauf und der Remotebranchverlauf weiterhin übereinstimmen.

  1. Wählen Sie in der Menüleiste Git > Branchverlauf anzeigen aus, um die Registerkarte Verlauf für den aktuellen Branch zu öffnen.

    Screenshot: Option „Branchverlauf anzeigen“ im Git-Menü in Visual Studio

  2. Klicken Sie auf der Registerkarte Verlauf für den aktuellen Branch mit der rechten Maustaste auf den Commit, den Sie zurücksetzen möchten, und wählen Sie Rückgängig machen aus, um einen neuen Commit zu erstellen, der die vom ausgewählten Commit vorgenommenen Änderungen rückgängig macht.

    Screenshot: Option „Rückgängig machen“ im Kontextmenü für einen Commit im Fenster „Verlauf“ in Visual Studio

Nächste Schritte