Speichern Ihrer Arbeit mit Commits

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Visual Studio 2022 | Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015

Git erstellt keine Momentaufnahmen Ihrer Arbeit, während Sie Dateien in Ihrem Repository ändern. Sie teilen Git mit, welche Dateiänderungen Sie in einer Momentaufnahme erfassen möchten, indem Sie bestimmte Änderungen bereitstellen. Nach dem Staging speichern Sie die Momentaufnahme, indem Sie einen Commit erstellen.

Dieser Artikel enthält Verfahren für die folgenden Aufgaben:

  • Wie Git Änderungen nachverfolgt
  • Was ist in einem Commit?
  • So wird's machen
  • So erstellen Sie einen Commit
  • So aktualisieren Sie Ihren letzten Commit

Eine Übersicht über den Git-Workflow finden Sie unter Azure Repos Git-Lernprogramm.

Wie Git Änderungen nachverfolgt

Während Sie in Ihrem Repository arbeiten, verfolgt Git Änderungen an allen nachverfolgten Dateien. Nachverfolgte Dateien sind Dateien, die derzeit stufend sind oder im vorherigen Commit enthalten sind. Git trennt nachverfolgte Dateien in drei Kategorien:

  • Nicht geänderte Dateien – Die Dateien, die Sie seit Dem letzten Commit nicht geändert haben.
  • Geänderte Dateien – Die Dateien, die Sie seit Ihrem letzten Commit geändert haben, aber für den nächsten Commit nicht mehr ausgeführt wurden.
  • Phasendateien – Die Dateien, die Sie seit dem letzten Commit geändert haben und für den nächsten Commit ausgeführt wurden.

Screenshot showing the lifecycle of files in your repo between the three states.

Wenn Sie einen Commit erstellen, werden nur mehrstufige Dateien und nicht geänderte Dateien für die Momentaufnahme verwendet. Nicht markierte Änderungen an den geänderten Dateien werden beibehalten, aber die Momentaufnahme enthält die nicht geänderte Version dieser Dateien. Git verfolgt keine Änderungen an neuen Dateien oder schließt neue Dateien in die Momentaufnahme ein, bis Sie sie stufen.

Commits werden in Ihrem lokalen Git-Repo erstellt. Jeder Commit muss nicht perfekt sein, und es kann mehrere Commits dauern, um eine beabsichtigte Änderung zu erreichen. Erstellen Sie Commits während der Arbeit, und wenn Sie fertig sind, können Sie Ihren Commit an ein Remote-Repo pushen , um Ihre Arbeit für andere Personen freizugeben.

Was ist in einem Commit?

Jeder Commit enthält die folgenden Informationen:

  • Eine Momentaufnahme aller nachverfolgten Dateien in Ihrem Repo zum Zeitpunkt des Commits. Eine Momentaufnahme ist nicht der Unterschied zwischen Commits, obwohl Git Momentaufnahmen verwendet, um den Unterschied zu berechnen. Snapshots ermöglichen schnelles Wechseln zwischen Verzweigungen und unterstützen das Zusammenführen vonVerzweigungen.
  • Ein Verweis auf den übergeordneten Commit(n). Die meisten Commits verfügen über ein übergeordnetes Element, aber der nächste Commit nach einer Verzweigungszusammenführung hat mehrere Eltern und der erste Commit in einem Repo hat keine.
  • Eine Meldung, die die Änderungen im Commit beschreibt. Sie geben die Nachricht ein, wenn Sie den Commit erstellen.

Git verwendet die Momentaufnahme und übergeordnete Referenz(en) jedes Commits, um einen vollständigen Datensatz der Entwicklung im Repo zu verwalten. Um Änderungen im Code zu untersuchen, können Sie den Git-Verlauf Ihres Repositorys überprüfen.

So wird's machen

So erstellen Sie eine Momentaufnahme für einen Commit:

  • Stellen Sie neue Dateien bereit, um Git mitzuteilen, dass sie der Momentaufnahme hinzugefügt werden sollen, und Sie möchten, dass Git Änderungen an diesen Dateien nachverfolgen soll.
  • Stufen Sie bearbeitete Dateien ein, um Git mitzuteilen, dass die geänderte Dateiversion in der Momentaufnahme, nicht die nicht geänderte Dateiversion.
  • Phasenlöschte Dateien, um Git mitzuteilen, dass sie aus der Momentaufnahme entfernt und nicht mehr nachverfolgt werden sollen.

Um temporäre Dateien, Protokolldateien oder andere Dateien aus Ihrer Momentaufnahme auszuschließen, können Sie Git so konfigurieren, dass bestimmte Dateien ignoriert werden.

Hinweis

Git unterstützt die interaktive Bereitstellung bearbeiteter Dateien, sodass Sie bestimmte Änderungen innerhalb einer Datei stufen können. Dies ist ein nützliches Feature, wenn Sie unterschiedliche Dateibearbeitungen in verschiedenen Commits wünschen.

Visual Studio Version 2019, Version 16.8 und höher, bietet eine Git-Versionssteuerung während der Verwaltung der Git-Benutzeroberfläche des Team Explorers. Deaktivieren Sie zum Verwenden des Team-ExplorerstoolsOptionsPreview>>FeaturesNew>Git-Benutzeroberfläche über die Menüleiste. Sie können Git-Features von beiden Schnittstellen austauschbar verwenden. Nachfolgend stellen wir einen parallelen Vergleich zur Phase von Dateiänderungen bereit.

Visual Studio Git

  1. Klicken Sie im Fenster "Git-Änderungen " mit der rechten Maustaste auf eine Datei im Abschnitt "Änderungen" , und wählen Sie " Phase " aus, um sie dem Abschnitt " Phasenänderungen " hinzuzufügen.

Screenshot of the Changes option in the 'Git Changes' window in Visual Studio 2019.

Alternativ können Sie eine geänderte Datei stufen, indem Sie das Pluszeichen neben der Datei auswählen. Wenn Sie alle geänderten Dateien in einem Ordner aufstufen möchten, wählen Sie das Pluszeichen neben dem Ordner aus. Wenn Sie alle geänderten Dateien in Ihrem Repository aufstufen möchten, wählen Sie das Pluszeichen in der oberen rechten Ecke des Abschnitts "Änderungen " aus.

Visual Studio Team Explorer

  1. Wählen Sie im Team-Explorer die Schaltfläche " Start " aus, und wählen Sie "Änderungen" aus.

Screenshot of the Changes option in Team Explorer in Visual Studio 2019.

  1. Klicken Sie in der Ansicht "Änderungen " mit der rechten Maustaste auf eine Datei im Abschnitt "Änderungen" , und wählen Sie " Phase " aus, um sie dem Abschnitt " Phasenänderungen" hinzuzufügen.

Screenshot of context menu with the 'Stage' option for files in the 'Change' view of Team Explorer in Visual Studio 2019.

Alternativ können Sie eine geänderte Datei stufen, indem Sie sie aus dem Abschnitt "Änderungen " in den Abschnitt "Änderungen" auf den Abschnitt " Phasenänderungen " ziehen. Wenn Sie alle geänderten Dateien in einem Ordner aufstufen möchten, klicken Sie mit der rechten Maustaste auf den Ordner, und wählen Sie "Phase" aus. Wenn Sie alle geänderten Dateien in Ihrem Repository aufstufen möchten, wählen Sie das Pluszeichen in der oberen rechten Ecke des Abschnitts "Änderungen " aus.

Sie können Git mitteilen, eine Datei zu ignorieren, indem Sie mit der rechten Maustaste darauf klicken und dieses lokale Element ignorieren oder diese Erweiterung ignorieren. Jeder Befehl erstellt eine Gitignore-Datei in Ihrem Repo, wenn er nicht vorhanden ist, und fügt einen Eintrag hinzu. Ignorierte Dateien werden im Abschnitt "Änderungen" in Visual Studio nicht angezeigt. Die Gitignore-Datei hat jedoch keine Auswirkungen auf nachverfolgte Dateien. Informationen zum Konfigurieren von Git zum Ignorieren nachverfolgter Dateien finden Sie unter "Ignorieren von Dateien". Um Zeit zu sparen, können Sie Gitignore-Vorlagen für verschiedene Entwicklungsumgebungen aus dem GitHub gitignore-Repo herunterladen.

Hinweis

Visual Studio 2019 das Staging partielle Änderungen innerhalb einer Datei nicht unterstützt. Visual Studio 2022 führt dieses Feature ein.

So erstellen Sie einen Commit

Visual Studio Version 2019, Version 16.8 und höher, bietet eine Git-Versionssteuerungsumgebung, während sie die Git-Benutzeroberfläche des Team Explorers beibehalten. Um Team-Explorer zu verwenden, deaktivieren Sie ToolsOptionsPreview>>FeaturesNew>Git-Benutzeroberfläche aus der Menüleiste. Sie können Git-Features von beiden Schnittstellen austauschbar verwenden. Nachfolgend stellen wir einen querseitigen Vergleich zur Erstellung eines Commits bereit.

Visual Studio Git

Geben Sie im Fenster "Git-Änderungen " eine Nachricht ein, die Ihre phasenierten Änderungen beschreibt, und wählen Sie dann "Commit phased" aus.

Screenshot showing the commit information link in Visual Studio 2019.

Wählen Sie den Commit-Link für Commitdetails aus.

Screenshot showing the commit details link the 'Git Changes' window in Visual Studio 2019.

Visual Studio Team Explorer

Geben Sie in der Ansicht "Änderungen " des Team-Explorers eine Nachricht ein, die Ihre phasenierten Änderungen beschreibt, und wählen Sie dann "Commit" aus.

Screenshot of commit message text and 'Commit Staged' button in Visual Studio 2019.

Wählen Sie den Commit-Link für Commitdetails aus.

Screenshot showing the commit details link in 'Team Explorer' in Visual Studio 2019.

Hinweis

Wenn alle Ihre Änderungen nicht antagt sind, können Sie die Bereitstellung überspringen und direkt commit ausführen, indem Sie "Commit Alle" auswählen.

Visual Studio Git

Screenshot of the 'Commit All' option in the 'Git Changes' window in Visual Studio 2019.

Visual Studio Team Explorer

Screenshot of the 'Commit All' option in the 'Changes' view of Team Explorer in Visual Studio 2019.

Aktualisieren des letzten Commits

Git unterstützt das Ändern der phasenierten Dateien oder Nachrichten Ihres letzten Commits. Dieser Vorgang ersetzt den letzten Commit durch einen neuen Commit, der die phasenierten Dateien aus beiden Commits kombiniert und die neue Commitnachricht verwendet. Das Ändern eines Commits ist nützlich, wenn Sie vergessen haben, eine Datei zu stellen, oder Ihre letzte Commitnachricht hat einen Typo.

Warnung

Ändern Sie keinen bereits pushierten Commit, da dies zu Synchronisierungsproblemen mit Ihrem Remote-Repo führt. Verwenden Sie für einen Push-Commit eine der folgenden Strategien:

  • Erstellen Sie einen anderen Commit, der die Probleme behoben, die durch den vorherigen Commit verursacht werden.
  • Rückgängig machen Sie den vorherigen Commit, der pusht wurde, indem git revert Sie einen neuen Commit erstellen, der alle änderungen zurückgibt, die vom vorherigen Commit vorgenommen wurden. Drücken Sie dann den neuen Commit.

Visual Studio Version 2019, Version 16.8 und höher, bietet eine Git-Versionssteuerungsumgebung, während sie die Git-Benutzeroberfläche des Team Explorers beibehalten. Um Team-Explorer zu verwenden, deaktivieren Sie ToolsOptionsPreview>>FeaturesNew>Git-Benutzeroberfläche aus der Menüleiste. Sie können Git-Features von beiden Schnittstellen austauschbar verwenden. Nachfolgend stellen wir einen querseitigen Vergleich zur Änderung eines Commits bereit.

Visual Studio Git

Geben Sie im Fenster "Git-Änderungen " optional eine oder mehrere Dateien ein, geben Sie eine Commitnachricht ein, wählen Sie " Ändern" aus, und wählen Sie dann "Commit phased" aus.

Screenshot showing the 'Amend Previous Commit' option in the 'Git Changes' window of Visual Studio 2019.

Das Git-Änderungsfenster unterstützt die Änderung der Commitnachricht, der Phasendateien oder beides. Wenn Sie "Ändern" auswählen, wird der Bezeichner SHA für den vorherigen Commit angezeigt.

Visual Studio Team Explorer

Geben Sie in der Ansicht "Änderungen " des Team-Explorers eine oder mehrere Dateien ein, geben Sie eine Commitnachricht ein, und wählen Sie dann " > Aktionen Ändern des vorherigen Commits" aus.

Screenshot showing the 'Amend Previous Commit' option in the 'Changes' view of Team Explorer in Visual Studio 2019.

Der Team-Explorer unterstützt keine Änderung der Commitnachricht, ohne auch eine oder mehrere stufende Dateien zu ändern.

Nächste Schritte