Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Git verwendet Commit-Metadaten wie übergeordnete Links, Autorendetails und Zeitstempel, um den Verlauf der Änderungen in einem Repository nachzuverfolgen. Sie können den Git-Verlauf überprüfen, um herauszufinden, wann Dateien geändert wurden, wer sie geändert hat und welche Änderungen vorgenommen wurden.
Wenn Personen Funktionszweige mithilfe von Pullanforderungen in eine Ziel-Verzweigung erstellen und zusammenführen, ist der Entwicklungsverlauf des Zielzweigs 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.
Informationen zur Verwendung von Visual Studio 2022 mit Git finden Sie unter How Visual Studio makes version control easy with Git.
Voraussetzungen
Kategorie |
Anforderungen |
Projektzugriff |
Mitglied eines Projekts. |
Berechtigungen |
- Code in einem privaten Projekt anzeigen: Mindestens Basic-Zugriff. - Code in privaten Projekten klonen oder dazu beitragen: Mitglied der Sicherheitsgruppe Contributors oder entsprechende Berechtigungen im Projekt. – Verzweigungs- oder Repository-Berechtigungen festlegen: Berechtigungen Berechtigungen verwalten für die Verzweigung oder das Repository. - Standardbranch ändern: Berechtigungen Richtlinien bearbeiten für das Repository. - Ein Repository importieren: Mitglied der Sicherheitsgruppe Projektadministratoren oder auf Git-Projektebene die Berechtigung Repository erstellen auf Zulassen festgelegt. Weitere Informationen finden Sie unter Festlegen von Git-Repositoryberechtigungen. |
Dienstleistungen |
Repositorys aktiviert. |
Tools |
Wahlfrei. Verwenden von az repos-Befehlen: Azure DevOps CLI. |
Hinweis
In öffentlichen Projekten haben Benutzer*innen mit Beteiligten -Zugriff vollen Zugriff auf Azure Repos, einschließlich Anzeigen, Klonen und Beitragen zum Code.
Kategorie |
Anforderungen |
Projektzugriff |
Mitglied eines Projekts. |
Berechtigungen |
- Code anzeigen: Mindestens Basis-Zugriff. - Code klonen oder dazu beitragen: Mitglied der Sicherheitsgruppe Beitragende oder entsprechende Berechtigungen im Projekt. |
Dienstleistungen |
Repositorys aktiviert. |
Vergleichen von Dateiversionen
Wenn Sie herausfinden möchten, wie und wann eine bestimmte Dateiänderung vorgenommen wurde, müssen Sie möglicherweise unterschiedliche Versionen derselben Datei aus verschiedenen Commits vergleichen, möglicherweise in verschiedenen Branches.
Auf der Azure DevOps-Teamprojektwebsite können Sie zwei Versionen derselben Datei von Commits in demselben Branch vergleichen, aber der Vergleich von Dateiversionen über Branches hinweg wird nicht unterstützt.
Öffnen Sie im Webbrowser das Teamprojekt für Ihre Azure DevOps-Organisation. Wählen Sie in der Ansicht "Repositorydateien>" eine Datei und dann die Registerkarte "Vergleichen" aus.
Wählen Sie auf der Registerkarte "Vergleichen " die beiden Commits aus, die die zu vergleichenden Dateiversionen enthalten. In der Diff-Ansicht werden alle neuen, gelöschten oder geänderten Dateizeilen angezeigt.
Hinweis
Mit GitHub können Sie zwei Versionen derselben Datei aus unterschiedlichen Commits in verschiedenen Zweigen vergleichen. Fügen Sie /compare/<commit1>..<commit2>
an Ihre GitHub-Repository-URL an, um zur Vergleichsseite zu navigieren. Die Vergleichsseite enthält eine Diffansicht aller Dateien, die sich unterscheiden. Weitere Informationen zum Commit-Vergleich in GitHub finden Sie unter Vergleich von Commits.
Visual Studio 2022 bietet eine Git-Versionskontrolle mithilfe des Git--Menüs, Git Changesund ü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.
Mit Visual Studio können Sie zwei Versionen derselben Datei in derselben Verzweigung vergleichen, aber das Vergleichen von Dateiversionen über Zweigniederlassungen hinweg wird 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 " Mit vorherigem Commit vergleichen " aus, um eine Diff-Registerkarte zu öffnen, die den ausgewählten Commit mit dem vorherigen Commit vergleicht.
Oder wählen Sie zwei Commits aus, und wählen Sie " Vergleichen " im Kontextmenü eines Commits aus, um eine Diff-Registerkarte zu öffnen, die die beiden ausgewählten Commits vergleicht.
Auf der Registerkarte "Diff " 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 einer Datei aus verschiedenen Commits in verschiedenen Branches vergleichen. Mit dem Git-Protokollbefehl können Sie die Commits identifizieren, die die zu vergleichenden Dateiversionen enthalten.
Verwenden Sie git log
, um eine Datei anzugeben und die Commits aufzulisten, die die Datei geändert haben.
git log <file>
Standardmäßig beginnt die Befehlsausgabe mit dem aktuellsten Commit in der aktuellen Verzweigung und iteriert dann rückwärts durch die Vorgänger-Commits, unabhängig von der Verzweigung, indem sie den Eltern-Verknüpfungen in den Metadaten jedes Commits folgt.
Hier ist ein Beispiel für die Ausgabe für den Befehl git log index.html
:
commit bbc3b679197b659544a6f8070c79fb535b496613
Date: Thu Jun 30 13:42:50 2021 -0400
update landing page
commit e5402fe710c25eca1b96a4e238eee9c01ed41c6a
Date: Thu Jun 30 13:42:23 2021 -0400
initial commit
Verwenden Sie git diff
, und geben Sie eine Datei sowie zwei Commits an, um zu sehen, wie sich die committeten Dateiversionen unterscheiden:
git diff <commit1> <commit2> <file>
Hier ist ein Beispiel für die Ausgabe für den Befehl git diff bbc3b67 e5402fe index.html
:
- <link rel="stylesheet" href="app.cs"/>
+ <link rel="stylesheet" href="fabrikam.cs"/>
Die Ausgabe zeigt, dass eine Zeile gelöscht und eine Zeile hinzugefügt wurde.
Git-Protokollausgabe einschränken
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, die vor dem angegebenen relativen Datum erstellt wurden.
git log --grep="css change"
listet nur die Commits auf, die den angegebenen Text in ihrer Nachricht enthalten.
git log -S"myVariable"
listet nur Commits auf, die die angegebene Zeichenfolge einführen 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.
Es gibt mehrere Formatoptionen für die Commitliste. Beispiel:
git log --abbrev-commit
zeigt Commits mit einer abgekürzten ID (SHA-1-Prüfsumme) an.
git log --oneline
listet jeden Commit 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 bearbeitet, gelöscht oder in einem späteren Commit umbenannt wurde. Durch das Wiederherstellen einer älteren Version einer Datei wird kein neuer Commit mit der Änderung erstellt. Um Ihren Branch mit der wiederhergestellten Dateiversion zu aktualisieren, müssen Sie die Änderung committen.
Mit der Website des Azure DevOps-Teamprojekts können Sie alle Änderungen, die von einem bestimmten Commit vorgenommen wurden, rückgängig machen, jedoch nicht die Änderungen an einer bestimmten Datei innerhalb des Commits zurücksetzen.
Mit Visual Studio können Sie zwei Versionen derselben Datei in derselben Verzweigung vergleichen, aber das Vergleichen von Dateiversionen über Zweigniederlassungen hinweg wird 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 " Mit vorherigem Commit vergleichen " aus, um eine Diff-Registerkarte zu öffnen, die den ausgewählten Commit mit dem vorherigen Commit vergleicht.
Oder wählen Sie zwei Commits aus, und wählen Sie " Vergleichen " im Kontextmenü eines Commits aus, um eine Diff-Registerkarte zu öffnen, die die beiden ausgewählten Commits vergleicht.
Auf der Registerkarte "Diff " 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 einen Git-Verlauf-Tab für die ausgewählte Datei zu öffnen.
Wählen Sie auf der Registerkarte "Git-Verlauf " einen Commit aus, und klicken Sie im Kontextmenü des Commits auf " Commit-Details anzeigen ", um die Ansicht "Commit-Details" zu öffnen.
Wählen Sie in der Ansicht "Commitdetails " die Datei aus, und wählen Sie im Kontextmenü der Datei " Öffnen " aus, 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.
Sie können die Git-Auscheck- oder Git-Anzeigebefehle verwenden, um eine bestimmte Version einer Datei aus dem Git-Verlauf wiederherzustellen.
Git Checkout setzt eine Datei auf eine zuvor zugesicherte 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 zeigt die Inhalte einer früheren Commit-Dateiversion an, 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
.
Branches vergleichen
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 Zweigvergleich können Sie Zusammenführungskonflikte überprüfen und sehen, wie sich Änderungen anderer auf Ihre Arbeit auswirken könnten.
Visual Studio 2019 und frühere Versionen unterstützen keinen Verzweigungsvergleich. Wenn Sie also eine dieser Versionen verwenden, können Sie Verzweigungen über die Git-Befehlszeile oder den Webbrowser vergleichen– wenn Ihr Repository in Azure Repos oder GitHub gehostet wird. Visual Studio 2022 unterstützt den Branch-Vergleich, wie in Compare Branches beschrieben.
Öffnen Sie im 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 "Verzweigungsvergleich " die beiden Verzweigungen aus, die Sie vergleichen möchten. Wählen Sie die Registerkarte "Dateien " für eine Diff-Ansicht der neuen, gelöschten oder geänderten Zeilen in jeder geänderten Datei aus.
Hinweis
GitHub unterstützt den Vergleich von Zweigen. 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 Differenzansicht für jede Datei, die abweicht. Weitere Informationen zum Verzweigungsvergleich in GitHub finden Sie unter "Vergleichen von Verzweigungen".
Wenn Sie eine Verzweigung mit der aktuellen Verzweigung vergleichen möchten, klicken Sie im Bereich "Verzweigungen " ihres Repositorys mit der rechten Maustaste auf eine Verzweigung, und wählen Sie dann die Vergleichsoption aus. Das Kontextmenü gibt die Namen der aktuellen und der Zielzweige an:
Visual Studio 2019 unterstützt keinen Vergleich von Zweigen. Sie können jedoch Zweige über die Git-Befehlszeile oder Ihren Webbrowser vergleichen, falls Ihr Repository in Azure Repos oder GitHub gehostet wird.
Tipp
Sie können über die Startansicht von Team Explorer auf das Webportal zugreifen, indem Sie "Webportal" auswählen.
Zum Vergleichen von zwei lokalen oder Remotezweigen können Sie den Git-Befehl diff
verwenden, der die Verzweigungsnamen angibt:
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 ist ein Beispiel für die Ausgabe des Befehls git diff users/frank/feature origin/main
, mit dem eine lokale Verzweigung mit einer entfernten Verzweigung verglichen wird.
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 mit einer bestimmten Datei einzuschränken, geben Sie die Datei im diff
Befehl an:
git diff <branch1> <branch2> <file>
Zum Beispiel generiert git diff users/frank/feature origin/main index.html
nur einen Diff für die index.html
Datei.
Nächste Schritte
Verwandte Artikel