Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Git verwendet Commitmetadaten wie übergeordnete Links, Autorendetails und Zeitstempel, um den Verlauf von Änderungen in einem Repository nachzuverfolgen. Sie können den Git-Verlauf überprüfen, um festzustellen, wann Dateien geändert wurden, wer sie geändert hat und welche Änderungen vorgenommen wurden.
Wenn Personen Featurebranchs mithilfe von Pull Requests erstellen und in einem Zielbranch zusammenführen, ist der Entwicklungsverlauf des Zielbranchs möglicherweise keine gerade chronologische Linie. Wenn Sie also den Verlauf der Änderungen an einer Datei im Zielbranch überprüfen, müssen Sie bedenken, dass die Reihenfolge der Commits von der Mergestrategie und dem Mergedatum beeinflusst wird, nicht nur vom ursprünglichen Datum der Änderungen. Mit dem letzten Commit für den main-Branch kann beispielsweise eine Änderung eingeführt werden, die vor Wochen in einem Featurebranch vorgenommen wurde, der gerade erst mit einem Drei-Weg-Merge in den main-Branch zusammengeführt wurde.
Wenn Sie herausfinden möchten, wie und wann eine bestimmte Dateiänderung vorgenommen wurde, müssen Sie möglicherweise verschiedene Versionen derselben Datei von verschiedenen Commits vergleichen, möglicherweise sogar in verschiedenen Branches.
Auf der Projektwebsite des Azure DevOps-Teams können Sie zwei Versionen derselben Datei aus Commits im selben Branch vergleichen. Der branchübergreifende Vergleich von Dateiversionen wird jedoch nicht unterstützt.
Öffnen Sie in Ihrem Webbrowser das Teamprojekt für Ihre Azure DevOps-Organisation. Wählen Sie in der Ansicht Repo > Dateien eine Datei und dann die Registerkarte Vergleichen aus.
Wählen Sie auf der Registerkarte Vergleichen die beiden Commits mit den Dateiversionen aus, die Sie vergleichen möchten. In der Diffansicht werden alle neuen, gelöschten oder geänderten Dateizeilen angezeigt.
Hinweis
GitHub bietet die Möglichkeit, zwei Versionen derselben Datei aus verschiedenen Commits in verschiedenen Branches zu vergleichen. Fügen Sie /compare/<commit1>..<commit2> an die URL des GitHub-Repositorys an, um zur Vergleichsseite zu navigieren und die Dateien zu vergleichen. Die Vergleichsseite enthält eine Diffansicht aller Dateien, die sich unterscheiden. Weitere Informationen zum Vergleich von Commits in GitHub finden Sie in der Dokumentation zum Vergleichen von Commits.
Visual Studio 2022 bietet Git-Versionskontrolle über das Git-Menü, 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 bietet die Möglichkeit, zwei Versionen derselben Datei im selben Branch zu vergleichen. Der branchübergreifende Vergleich von Dateiversionen wird jedoch nicht unterstützt.
Wählen Sie im Projektmappen-Explorer eine Datei aus, und wählen Sie im Kontextmenü der Datei Git > Verlauf anzeigen aus, um die Registerkarte Git-Verlauf für die ausgewählte Datei zu öffnen.
Wählen Sie auf der Registerkarte Git-Verlauf im Kontextmenü eines Commits die Option Mit vorherigen vergleichen aus, um eine Diff-Registerkarte zu öffnen, auf der das ausgewählte Commit mit dem vorherigen Commit verglichen wird.
Sie können auch zwei Commits und Vergleichen im Kontextmenü eines der beiden Commits auswählen, um eine Diff-Registerkarte zu öffnen, auf der die beiden ausgewählten Commits verglichen werden.
Auf der Diff-Registerkarte werden neue, gelöschte oder geänderte Dateizeilen angezeigt.
Visual Studio 2019 bietet Git-Versionskontrolle über das Git-Menü, Git-Änderungen und über die Kontextmenüs im Projektmappen-Explorer.
Visual Studio bietet die Möglichkeit, zwei Versionen derselben Datei im selben Branch zu vergleichen. Der branchübergreifende Vergleich von Dateiversionen wird jedoch nicht unterstützt.
Wählen Sie im Projektmappen-Explorer eine Datei aus, und wählen Sie im Kontextmenü der Datei Git > Verlauf anzeigen aus, um die Registerkarte Git-Verlauf für die ausgewählte Datei zu öffnen.
Wählen Sie auf der Registerkarte Git-Verlauf im Kontextmenü eines Commits die Option Mit vorherigen vergleichen aus, um eine Diff-Registerkarte zu öffnen, auf der das ausgewählte Commit mit dem vorherigen Commit verglichen wird.
Sie können auch zwei Commits und Vergleichen im Kontextmenü eines der beiden Commits auswählen, um eine Diff-Registerkarte zu öffnen, auf der die beiden ausgewählten Commits verglichen werden.
Auf der Diff-Registerkarte werden neue, gelöschte oder geänderte Dateizeilen angezeigt.
Team Explorer bietet keine Unterstützung für dieses Feature.
Der git diff-Befehl kann verschiedene Versionen derselben Datei aus verschiedenen Commits in verschiedenen Branches vergleichen. Mit dem git log-Befehl können Sie die Commits ermitteln, die die Dateiversionen enthalten, die Sie vergleichen möchten.
Verwenden Sie git log, und geben Sie eine Datei an, um die Commits aufzulisten, die die Datei geändert haben:
git log <file>
Die Befehlsausgabe beginnt standardmäßig mit dem letzten Commit im aktuellen Branch und durchläuft dann rückwärts durch Vorgängercommits (unabhängig vom Branch), indem sie den übergeordneten Links in den Metadaten der einzelnen Commits folgt.
Das folgende Beispiel veranschaulicht die Ausgabe des Befehls git log index.html:
Die Ausgabe zeigt, dass eine Zeile gelöscht und eine Zeile hinzugefügt wurde.
Einschränken der git log-Ausgabe
Um die Commits zu begrenzen, die von git log aufgelistet werden, können Sie nach Autor, Datum, Nachricht, geänderten Inhalten usw. filtern. Beispiel:
git log --author=frank@fabrikam.com index.html: Listet nur Commits des angegebenen Autors auf.
git log --since="2022-5-1": Listet nur Commits auf, die nach dem angegebenen Datum erstellt wurden.
git log --before="yesterday": Listet nur Commits auf, die vor dem angegebenen relativen Datum erstellt wurden.
git log --grep="css change": Listet nur Commits mit dem angegebenen Text in der jeweiligen Nachricht auf.
git log -S"myVariable": Listet nur Commits auf, die die angegebene Zeichenfolge einfügen oder entfernen.
git log -G"myVar.*": Listet nur Commits auf, die die angegebene RegEx-Zeichenfolge einfügen oder entfernen.
git log -3: Listet nur die letzten drei Commits auf.
Formatieren der git log-Ausgabe
Es gibt mehrere Formatoptionen für die Commitliste. Beispiel:
git log --abbrev-commit: Listet Commits anhand einer abgekürzten ID (SHA-1-Prüfsumme) auf.
git log --oneline: Listet die einzelnen Commits in einem einzeiligen abgekürzten Format auf.
git log --patch index.html: Listet die einzelnen Commits zusammen mit dem Unterschied der Änderungen auf.
Wiederherstellen von Dateien
Sie können eine bestimmte Version einer Datei aus dem Git-Verlauf wiederherstellen, auch wenn die Datei in einem späteren Commit bearbeitet, gelöscht oder umbenannt wurde. Durch das Wiederherstellen einer älteren Version einer Datei wird kein neues Commit mit der Änderung erstellt. Um Ihren Branch mit der wiederhergestellten Dateiversion zu aktualisieren, müssen Sie die Änderung committen.
Auf der Projektwebsite des Azure DevOps-Teams können Sie alle Änderungen rückgängig machen, die von einem bestimmten Commit vorgenommen wurden: Das Wiederherstellen von Änderungen an einer bestimmten Datei innerhalb des Commits wird nicht unterstützt.
Visual Studio bietet die Möglichkeit, zwei Versionen derselben Datei im selben Branch zu vergleichen. Der branchübergreifende Vergleich von Dateiversionen wird jedoch nicht unterstützt.
Wählen Sie im Projektmappen-Explorer eine Datei aus, und wählen Sie im Kontextmenü der Datei Git > Verlauf anzeigen aus, um die Registerkarte Git-Verlauf für die ausgewählte Datei zu öffnen.
Wählen Sie auf der Registerkarte Git-Verlauf im Kontextmenü eines Commits die Option Mit vorherigen vergleichen aus, um eine Diff-Registerkarte zu öffnen, auf der das ausgewählte Commit mit dem vorherigen Commit verglichen wird.
Sie können auch zwei Commits und Vergleichen im Kontextmenü eines der beiden Commits auswählen, um eine Diff-Registerkarte zu öffnen, auf der die beiden ausgewählten Commits verglichen werden.
Auf der Diff-Registerkarte werden neue, gelöschte oder geänderte Dateizeilen angezeigt.
Visual Studio bietet die Möglichkeit, zwei Versionen derselben Datei im selben Branch zu vergleichen. Der branchübergreifende Vergleich von Dateiversionen wird jedoch nicht unterstützt.
Wählen Sie im Projektmappen-Explorer eine Datei aus, und wählen Sie im Kontextmenü der Datei Git > Verlauf anzeigen aus, um die Registerkarte Git-Verlauf für die ausgewählte Datei zu öffnen.
Wählen Sie auf der Registerkarte Git-Verlauf im Kontextmenü eines Commits die Option Mit vorherigen vergleichen aus, um eine Diff-Registerkarte zu öffnen, auf der das ausgewählte Commit mit dem vorherigen Commit verglichen wird.
Sie können auch zwei Commits und Vergleichen im Kontextmenü eines der beiden Commits auswählen, um eine Diff-Registerkarte zu öffnen, auf der die beiden ausgewählten Commits verglichen werden.
Auf der Diff-Registerkarte werden neue, gelöschte oder geänderte Dateizeilen angezeigt.
Visual Studio 2019, Version 16.8 und höher, bietet eine Benutzeroberfläche für Git-Versionskontrolle, während die Git-Benutzeroberfläche von Team Explorer beibehalten wird. Um Team Explorer zu verwenden, deaktivieren Sie in der Menüleiste Extras>Optionen>Vorschaufeatures>Neue Git-Benutzeroberfläche.
Wählen Sie im Projektmappen-Explorer eine Datei aus, und wählen Sie im Kontextmenü der Datei Git > Verlauf anzeigen aus, um eine Registerkarte mit dem Git-Verlauf für die ausgewählte Datei zu öffnen.
Wählen Sie auf der Registerkarte Git-Verlauf ein Commit und dann im Kontextmenü des Commits Commitdetails anzeigen aus, um die Ansicht Commitdetails zu öffnen.
Wählen Sie in der Ansicht Commitdetails die Datei und dann im Kontextmenü der Datei auf Öffnen, um die vorherige Version der Datei auf einer neuen Registerkarte zu öffnen.
Wählen Sie in der Menüleiste Datei > Speichern unter aus, um die wiederhergestellte Version der Datei zu speichern.
Mit den Befehlen git checkout oder git show können Sie eine bestimmte Version einer Datei aus dem Git-Verlauf wiederherstellen.
git checkout setzt eine Datei auf eine zuvor committete Version zurück, wenn Sie die Datei und einen Commit angeben:
git checkout <commit> <file>
git checkout 85435fac src/app.ts setzt beispielsweise die src/app.ts-Datei auf die Version im Commit 85435fac zurück.
git show gibt den Inhalt einer zuvor committeten Dateiversion aus, die Sie in eine Ausgabedatei umleiten können:
git show <commit>:<file> > <output file>
git show 85435fac:src/app.ts > /archive/oldapp.ts schreibt beispielsweise den Inhalt von app.ts im Commit 85435fac in die Datei /archive/oldapp.ts.
Sie können alle lokalen oder Remotebranches vergleichen, um die Änderungen zu überprüfen, die sich aus einem merge- oder rebase-Vorgang ergeben. Mit dem Branchvergleich können Sie nach Mergekonflikten suchen und feststellen, wie sich Änderungen anderer ggf. auf Ihre Arbeit auswirken.
Visual Studio 2019 und frühere Versionen unterstützen keinen Branchvergleich. Wenn Sie also eine dieser Versionen verwenden, können Sie Branches in der Git-Befehlszeile oder in Ihrem Webbrowser vergleichen (sofern Ihr Repository in Azure Repos oder GitHub gehostet wird). Visual Studio 2022 unterstützt den Branchvergleich (siehe Beschreibung unter Vergleichen von Branches).
Öffnen Sie in Ihrem Webbrowser das Teamprojekt für Ihre Azure DevOps-Organisation. Wählen Sie in der Ansicht Repos > Branches die Auslassungspunkte für einen Branch und dann Branches vergleichen aus, um die Ansicht Branchvergleich zu öffnen.
Wählen Sie in der Ansicht Branchvergleich die beiden Branches aus, die Sie vergleichen möchten. Wählen Sie die Registerkarte Dateien für aus, um eine Diffansicht der neuen, gelöschten oder geänderten Zeilen in allen geänderten Datei anzuzeigen.
Hinweis
GitHub unterstützt den Branchvergleich. Fügen Sie /compare/<branch1>...<branch2> an die URL des GitHub-Repositorys an, um zur Vergleichsseite zu navigieren und zwei Branches zu vergleichen. Die Vergleichsseite enthält eine Diffansicht aller Dateien, die sich unterscheiden. Weitere Informationen zum Vergleich von Branches in GitHub finden Sie in der Dokumentation zum Vergleichen von Branches.
Um einen Branch mit dem aktuellen Branch zu vergleichen, klicken Sie im Bereich Branches Ihres Repositorys mit der rechten Maustaste auf einen Branch, und wählen Sie dann die Vergleichsoption aus. Das Kontextmenü enthält den Namen des aktuellen Branchs und des Zielbranchs:
Visual Studio 2019 unterstützt keinen Branchvergleich. Sie können Jedoch Branches über die Git-Befehlszeile oder in Ihrem Webbrowser vergleichen, wenn Ihr Repository in Azure Repos oder GitHub gehostet wird.
Tipp
Sie können in der Startansicht von Team Explorer auf das Webportal zugreifen, indem Sie Webportal auswählen.
Visual Studio 2019 unterstützt keinen Branchvergleich. Sie können Jedoch Branches über die Git-Befehlszeile oder in Ihrem Webbrowser vergleichen, wenn Ihr Repository in Azure Repos oder GitHub gehostet wird.
Tipp
Sie können in der Startansicht von Team Explorer auf das Webportal zugreifen, indem Sie Webportal auswählen.
Um zwei lokale Remotebranches zu vergleichen, können Sie den Git-Befehl diff verwenden und die Branchnamen angeben:
git diff <branch1> <branch2>
Git vergleicht das Commit an der Spitze eines Branchs mit dem Commit an der Spitze des anderen. Die diff-Ausgabe zeigt die Löschungen und Ergänzungen zwischen den einzelnen Dateien in den beiden Branches an.
Hier sehen Sie ein Beispiel für die Ausgabe für den Befehl git diff users/frank/feature origin/main, der einen lokalen Branch mit einem Remotebranch vergleicht:
index 36843b8..03afc4b 100644
--- a/tsapp/index.html
+++ b/tsapp/index.html
@@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
- <link rel="stylesheet" href="fabrikam-test.css" type="text/css" />
+ <link rel="stylesheet" href="fabrikam.css" type="text/css" />
<script src="app.js"></script>
</head>
...
--- a/tsapp/app.ts
+++ b/tsapp/app.ts
constructor(element: HTMLElement) {
this.element = element;
- this.element.innerHTML += "The time is: ";
+ this.element.innerHTML += "The time is now: ";
this.span = document.createElement('span');
this.element.appendChild(this.span);
this.span.innerText = new Date().toUTCString();
Um den Vergleich auf eine bestimmte Datei einzugrenzen, geben Sie die Datei im diff-Befehl an:
git diff <branch1> <branch2> <file>
git diff users/frank/feature origin/main index.html generiert beispielsweise nur eine diff-Ausgabe für die index.html-Datei.