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 verwendet Commitmetadaten 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 Zielzweige erstellen und zusammenführen, ist der Entwicklungsverlauf der Zielzweige möglicherweise keine gerade chronologische Linie. Wenn Sie also den Verlauf der Änderungen an einer Datei auf der Zielzweigung überprüfen, denken Sie daran, dass die Reihenfolge von Commits durch die Zusammenführungsstrategie und das Seriendruckdatum beeinflusst wird, nicht nur das ursprüngliche Datum der Änderungen. Beispielsweise kann der neueste Commit für die main Verzweigung eine Änderung einführen, die vor Wochen in einem Featurezweig vorgenommen wurde, der nur mit einer dreiseitigen Zusammenführung in die main Verzweigung zusammengeführt wurde.
Wenn Sie herausfinden möchten, wie und wann eine bestimmte Dateiänderung aufgetreten ist, müssen Sie möglicherweise unterschiedliche Versionen derselben Datei aus unterschiedlichen Commits vergleichen, möglicherweise in verschiedenen Verzweigungen.
Mit der Azure DevOps-Teamprojektwebsite können Sie zwei Versionen derselben Datei aus Commits in derselben Verzweigung vergleichen, aber das Vergleichen von Dateiversionen über Zweige hinweg nicht unterstützen.
Öffnen Sie im Webbrowser das Teamprojekt für Ihre Azure DevOps-Organisation. Wählen Sie in der Ansicht "Repositorydateien>" eine Datei aus, und wählen Sie die Registerkarte "Vergleichen" aus.
Wählen Sie auf der Registerkarte "Vergleichen " die beiden Commits aus, die die zu vergleichenden Dateiversionen enthalten. Die Diff-Ansicht zeigt alle neuen, gelöschten oder geänderten Dateizeilen an.
Hinweis
GitHub ermöglicht es Ihnen, zwei Versionen derselben Datei aus unterschiedlichen Commits in verschiedenen Verzweigungen zu vergleichen. Fügen Sie /compare/<commit1>..<commit2> zum Vergleichen an Ihre GitHub-Repo-URL an, um zur Vergleichsseite zu navigieren. Die Vergleichsseite enthält eine Diff-Ansicht jeder Datei, die sich unterscheidet. Weitere Informationen zum Commitvergleich in GitHub finden Sie unter Vergleich von Commits.
Visual Studio ermöglicht es Ihnen, zwei Versionen derselben Datei in derselben Verzweigung zu vergleichen, aber das Vergleichen von Dateiversionen über Verzweigungen hinweg wird nicht unterstützt.
Wählen Sie im Projektmappen-Explorer eine Datei aus, und wählen Sie " Git-Ansichtsverlauf > " im Kontextmenü der Datei 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 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 " aus dem 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.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei, und wählen Sie "Verlauf anzeigen" aus. Das Verlaufsfenster wird angezeigt, wobei die Commit-ID, der Autor, das Datum und die Beschreibung aller Änderungen an der Datei in Ihrem lokalen Repository in allen Verzweigungen angezeigt werden.
Suchen Sie den neuesten Commit für eine Verzweigung, indem Sie nach seinem Namen auf einem Pfeil rechts neben einem Commit suchen.
Zeigen Sie Änderungen aus der vorherigen Version der Datei an, indem Sie mit der rechten Maustaste klicken und "Vergleichen mit vorheriger... auswählen". Zeigen Sie die Änderungen zwischen zwei Versionen an, indem Sie beide Commits auswählen, und klicken Sie dann mit der rechten Maustaste, und wählen Sie "Vergleichen" aus...
In der Diff-Ansicht werden Zeilen angezeigt, die aus dem älteren Commit entfernt und in der neuen Hinzugefügt wurden.
Der Befehl git diff kann unterschiedliche Versionen derselben Datei aus unterschiedlichen Commits in verschiedenen Verzweigungen vergleichen. Mit dem Git-Protokollbefehl können Sie die Commits identifizieren, die die zu vergleichenden Dateiversionen enthalten.
Verwenden git log Sie eine Datei, um die Commits auflisten zu können, die die Datei geändert haben:
git log <file>
Standardmäßig beginnt die Befehlsausgabe mit dem neuesten Commit in der aktuellen Verzweigung und wird dann rückwärts durch Vorgänger-Commits (unabhängig von Verzweigungen) durchlaufen, indem sie den übergeordneten Links in den Metadaten jedes Commits folgen.
Hier ist ein Beispiel für die Ausgabe für den Befehl git log index.html:
Die Ausgabe zeigt, dass eine Zeile gelöscht wurde und eine Zeile hinzugefügt wurde.
Einschränken der Git-Protokollausgabe
Um die Commits zu beschränken, die git log listen, können Sie nach Autor, Datum, Nachricht, geänderten Inhalten und mehr filtern. Beispiel:
git log --author=frank@fabrikam.com index.html listet nur Commits des angegebenen Autors auf.
git log --since="2022-5-1" nur Commits, die nach dem angegebenen Datum erstellt wurden.
git log --before="yesterday" nur Commits, die vor dem angegebenen relativen Datum erstellt wurden.
git log --grep="css change" Es werden nur Commits mit dem angegebenen Text in ihrer Nachricht aufgelistet.
git log -S"myVariable" nur Commits, die die angegebene Zeichenfolge einführen oder entfernen.
git log -G"myVar.*" nur Commits, die die angegebene regex-Zeichenfolge einführen oder entfernen.
git log -3 Listet nur die letzten drei Commits auf.
Git-Protokollausgabe formatieren
Sie haben mehrere Formatoptionen für die Commitliste. Beispiel:
git log --abbrev-commit listet Commits mithilfe einer gekürzten ID (SHA-1-Prüfsumme) auf.
git log --oneline listet jeden Commit in einem kurzzeiligen Format auf.
git log --patch index.html listet jeden Commit zusammen mit einem Diff 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 Ihre Verzweigung mit der wiederhergestellten Dateiversion zu aktualisieren, müssen Sie die Änderung übernehmen.
Mit der Azure DevOps-Teamprojektwebsite können Sie alle Änderungen, die von einem bestimmten Commit vorgenommen wurden, zurücksetzen, aber die Wiederherstellung von Änderungen an einer bestimmten Datei innerhalb des Commits nicht unterstützt.
Visual Studio 2019, Version 16.8 und höher, bietet eine Git-Versionssteuerung, während die Git-Benutzeroberfläche des Team Explorers beibehalten wird. Um Team-Explorer zu verwenden, deaktivieren Sie die Option Extras>Optionen>Vorschau Features>Neue Git-Benutzeroberfläche über die Menüleiste. Sie können Git-Features von beiden Schnittstellen austauschbar verwenden. Gegebenenfalls stellen wir einen parallelen Vergleich zur Wiederherstellung einer bestimmten Dateiversion aus dem Git-Verlauf Ihres Repo bereit.
Wählen Sie im Projektmappen-Explorer eine Datei aus, und wählen Sie den Git-Ansichtsverlauf > im Kontextmenü der Datei aus, um eine Git-Verlaufsregisterkarte für die ausgewählte Datei zu öffnen.
Wählen Sie auf der Registerkarte "Git-Verlauf " einen Commit aus, und wählen Sie " Commitdetails anzeigen" im Kontextmenü des Commits aus, um die Ansicht "Commitdetails " zu öffnen.
Wählen Sie in der Ansicht "Commitdetails " die Datei aus, und wählen Sie "Öffnen" im Kontextmenü der Datei aus, um die vorherige Version der Datei auf einer neuen Registerkarte zu öffnen.
Visual Studio Git
Visual Studio Team Explorer
Wählen Sie "Datei speichern unter" > in der Menüleiste aus, um die wiederhergestellte Version der Datei zu speichern.
So rufen Sie eine frühere Version einer Datei ab, die in Ihrem Visual Studio-Projekt vorhanden ist:
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei, und wählen Sie "Verlauf anzeigen" aus. Die Visual Studio-Verlaufsansicht wird angezeigt und zeigt die Commits in Ihrem Repo an, das die Datei aktualisiert hat.
Sie können die Commits filtern, um den genauen Commit mit der Dateiversion zu finden, die Sie wiederherstellen möchten. Doppelklicken Sie auf die Version, um sie in Visual Studio zu öffnen.
So rufen Sie eine frühere Version einer Datei ab, die in einem vorherigen Commit gelöscht wurde:
Öffnen Sie die Ansicht "Änderungen " im Team-Explorer, und wählen Sie " Ansichtsverlauf" aus der Dropdownliste "Aktionen " aus.
Klicken Sie mit der rechten Maustaste auf den Commit, der die Version der Datei enthält, die Sie wiederherstellen möchten, und wählen Sie "Commitdetails anzeigen" aus.
Klicken Sie mit der rechten Maustaste auf die Datei, um in den Commitdetails im Team-Explorer wiederherzustellen, und wählen Sie " Öffnen" aus.
Hinweis
Die abgerufene Version einer Datei wird nicht automatisch in Ihrem Projekt gespeichert. Um die abgerufene Version in Ihrem Projekt zu speichern, wählen Sie im Menü "Datei" die Option "Speichern unter" aus. Wenn Sie die Datei in Ihrem aktuellen Projekt speichern, entweder als neue Datei oder als Überschreiben einer vorhandenen Datei, müssen Sie Ihre Änderungen übernehmen, um die vorherige Version zu Ihrer lokalen Verzweigung hinzuzufügen.
Sie können die Git-Auscheck - oder Git-Anzeigebefehle verwenden, um eine bestimmte Version einer Datei aus dem Git-Verlauf wiederherzustellen.
git checkout revertiert eine Datei auf eine zuvor zugesicherte Version, wenn Sie die Datei und einen Commit angeben:
git checkout <commit> <file>
Wird die src/app.ts Datei z. B. git checkout 85435fac src/app.ts in commit auf seine Version zurückgesetzt85435fac.
git show prints the contents of a zuvor commit file version, which you can redirect to an output file:
git show <commit>:<file> > <output file>
git show 85435fac:src/app.ts > /archive/oldapp.ts Beispielsweise schreibt der Inhalt des app.ts Commits 85435fac auf /archive/oldapp.ts.
Sie können alle lokalen oder Remotezweige vergleichen, um die Änderungen zu überprüfen, die aus einer Zusammenführung oder Neubasis resultieren. Mit dem Verzweigungsvergleich können Sie nach Zusammenführungskonflikten suchen und sehen, wie sich Änderungen von anderen auf Ihre Arbeit auswirken könnten.
Visual Studio 2019 und frühere Versionen unterstützen den Verzweigungsvergleich nicht. Wenn Sie also eine dieser Versionen verwenden, können Sie Verzweigungen in der Git-Befehlszeile oder mit Ihrem Webbrowser vergleichen– wenn Ihr Repo in Azure Repos oder GitHub gehostet wird. Visual Studio 2022 unterstützt den Verzweigungsvergleich, wie in Vergleichszweigen beschrieben.
Öffnen Sie im Webbrowser das Teamprojekt für Ihre Azure DevOps-Organisation. Wählen Sie in der Ansicht "Verzweigungen" > die Auslassungspunkte für alle Verzweigungen aus, und wählen Sie "Verzweigungen vergleichen" aus, um die Ansicht "Verzweigungsvergleich" zu öffnen.
Wählen Sie in der Verzweigungsvergleichsansicht 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 Verzweigungsvergleiche. Um zwei Verzweigungen zu vergleichen, fügen Sie /compare/<branch1>...<branch2> an Ihre GitHub-Repo-URL an, um zur Vergleichsseite zu navigieren. Die Vergleichsseite enthält eine Diff-Ansicht jeder Datei, die sich unterscheidet. Weitere Informationen zum Verzweigungsvergleich in GitHub finden Sie unter "Vergleichen von Verzweigungen".
Visual Studio 2019 unterstützt keinen Verzweigungsvergleich. Sie können jedoch Verzweigungen in der Git-Befehlszeile oder mit Ihrem Webbrowser vergleichen – wenn Ihr Repo in Azure Repos oder GitHub gehostet wird.
Tipp
Sie können über die Team Explorer-Startansicht auf das Webportal zugreifen, indem Sie das Webportal auswählen.
Visual Studio 2017 und frühere Versionen unterstützen den Verzweigungsvergleich nicht. Sie können jedoch Verzweigungen in der Git-Befehlszeile oder mit Ihrem Webbrowser vergleichen – wenn Ihr Repo in Azure Repos oder GitHub gehostet wird.
Tipp
Sie können über die Team Explorer-Startansicht auf das Webportal zugreifen, indem Sie das Webportal auswählen.
Um zwei lokale oder Remotezweige zu vergleichen, können Sie den Git-Befehl diff verwenden, der die Verzweigungsnamen angibt:
git diff <branch1> <branch2>
Git vergleicht den Commit an der Spitze einer Verzweigung mit dem Commit an der Spitze des anderen. Die Diff-Ausgabe zeigt die Löschungen und Ergänzungen zwischen jeder Datei in den beiden Verzweigungen an.
Hier sehen Sie ein Beispiel für die Ausgabe für den Befehl git diff users/frank/feature origin/main, der eine lokale Verzweigung mit einer Remotezweigung 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 mit einer bestimmten Datei einzugrenzen, geben Sie die Datei im diff Befehl an:
git diff <branch1> <branch2> <file>
Generiert beispielsweise git diff users/frank/feature origin/main index.html nur einen Diff für die index.html Datei.