Freigeben über


Durchsuchen von Git-Repositorys und Vergleichen von Branches in Visual Studio

Das Fenster "Git-Änderungen " bietet eine nahtlose Möglichkeit, mit Git während der Codierung zu interagieren, ohne sich von Ihrem Code entfernen zu müssen. Aber es gibt Zeiten, in denen es sinnvoller ist, sich auf Ihr Git-Repository zu konzentrieren. Beispielsweise müssen Sie möglicherweise ein gutes Bild davon erhalten, an was Ihr Team gearbeitet hat, oder zwei Commits vergleichen , um einen Fehler zu untersuchen.

Sie können remote mit dem Git-Anbieter Ihrer Wahl arbeiten, z. B. GitHub oder Azure DevOps.

Durchsuchen von lokalen und Remote-Filialen

Um zu beginnen, öffnen Sie das Git Repository-Fenster, indem Sie git Repository im Menü "Ansicht" auswählen (oder mithilfe der Tastenkombination STRG+0, STRG+R). Sie können auch auf das Git Repository-Fenster zugreifen, indem Sie die ausgehenden/eingehenden Links im Fenster "Git-Änderungen " und auf der Statusleiste auswählen.

Screenshot der Anatomie des Git-Repository-Fensters.

Das Git Repository-Fenster enthält drei Hauptabschnitte, wie im vorherigen Screenshot nummeriert:

  1. Branches / Tags: Git ermöglicht es Benutzern, Multitasking zu betreiben und mit ihrem Code durch Zweige zu experimentieren. Die Verzweigung in Git ist in mehreren Szenarien hilfreich, insbesondere bei der Arbeit an komplexen Projekten mit mehreren Features oder bei der Zusammenarbeit mit einem Team. Mit Visual Studio 17.13 und höher können Sie Tags im Repository anzeigen und zu einem beliebigen Tag navigieren. Ihr Team kann Git-Tags (z. B. v1.0) verwenden, um Punkte in der Historie Ihres Repositorys zu markieren und den Status des Repositorys zu diesem Zeitpunkt anzuzeigen. Siehe Git - Tagging.

    Screenshot, der Git-Tags im Git Repository-Fenster zeigt.

  2. Graph: In diesem Abschnitt wird der Status Ihres Branches visualisiert. Sie enthält drei Unterabschnitte:

    • Eingehende zeigt die Commits an, die Ihr Team beigetragen hat.
    • Ausgehend zeigt Ihre lokalen Commits an, die Sie noch nicht hochgeladen haben.
    • Der lokale Verlauf zeigt die restlichen Commits an, die von Ihrem lokalen Repository nachverfolgt werden.
  3. Commit: Um diesen Abschnitt zu öffnen, wählen Sie einen Commit im Graph-Abschnitt aus. Sie können die Änderungen überprüfen, die ein Commit eingeführt hat, indem Sie sie auswählen, was einen Unterschied zeigt. Der vorherige Screenshot zeigt z. B. die Änderungen, die ein Commit in die Resize.cs Datei eingeführt hat.

Mit den TastenkombinationenALT-NACH-OBEN+ oder ALT-NACH-UNTEN+ können Sie zwischen diesen Abschnitten springen.

Sie können einen beliebigen lokalen oder Remote-Branch durchsuchen, ohne Ihren Branch wechseln zu müssen. Wenn Sie einen Commit gefunden haben, auf den Sie sich konzentrieren möchten, wählen Sie die Schaltfläche " In neuer Registerkarte öffnen" aus, um den Commit auf einer anderen Registerkarte zu öffnen.

Screenshot, wie man einen Commit in einem neuen Tab öffnet.

Screenshot des Tabs für Commit-Details.

Tipp

Um den Commit im Vollbildmodus anzuzeigen, trennen Sie die Registerkarte Commit und maximieren das Commit-Fenster mithilfe der Schaltfläche Maximieren. Sie können auch Ihre bevorzugte Diff-Konfiguration auswählen, indem Sie "Diff-Konfiguration " (das Zahnradsymbol) auswählen.

Screenshot der Commit-Details im Vollbildmodus mit Diff-Konfigurationen.

Mehrzweigungsverlaufsansicht

Neu mit Version 17.7: Wenn Sie das Git Repo-Fenster öffnen, beginnen Sie in der Einzelzweigansicht. Anschließend können Sie eine beliebige Verzweigung auswählen, um sowohl die Verzweigung als auch deren Commits zu einer Mehrzweigungsverlaufsansicht hinzuzufügen, wodurch visuelle Hinweise hinzugefügt werden, mit denen sie effizienter mit mehreren Verzweigungen interagieren können.

Screenshot der Ansicht

Es gibt sowohl Linienfarben als auch Verzweigungsbezeichnungen auf der linken Seite der Ansicht "Lokaler Verlauf ", mit deren Hilfe sie einfacher nachverfolgen können, welche Commits zu den einzelnen Verzweigungen gehören. Sie können die Liste der Zweige oben in der Tabelle verwenden, um leichter durch die Zweige zu blättern und sofort zu erkennen, welche Zweige im Diagramm angezeigt werden.

Bewegen Sie den Mauszeiger im Abschnitt "Verzweigungen/Tags" über eine Verzweigung, um die Umschaltfläche "Verzweigung im Verlauf" anzuzeigen (das Symbol sieht wie ein Auge aus). Mithilfe der Schaltfläche zum Daraufzeigen können Sie auswählen, welche Verzweigungen in der Commitverlaufsansicht angezeigt werden sollen.

Sie können die Schaltflächen in der Symbolleiste oben in der Commit-Verlauf-Ansicht verwenden, um die Ansicht anzupassen und nach Verzweigungen zu filtern.

  • Nur ersten Elternteil anzeigen: Beschränken Sie den Verlauf darauf, dass nur der Commit-Verlauf als einzelne Linie angezeigt wird, anstatt Nebenverzweigungen mit ihren eigenen Commit-Sequenzen.

  • Lokale Zweige anzeigen: Einstellen, ob Markierungen für lokale Zweige in der Verlaufsansicht ein- oder ausgeblendet werden sollen.

  • Remoteverzweigungen anzeigen: Umschalten, ob Beschriftungen für Remoteverzweigungen angezeigt werden sollen, die zum angezeigten Commit-Verlauf beitragen.

  • Tags anzeigen: Umschalten, ob Tags-Bezeichnungen angezeigt werden.

    Lokale Zweige anzeigen, Remote-Zweige anzeigen, und Tags anzeigen beziehen sich auf die Label-Indikatoren auf der linken Seite in der Verlaufsansicht der Commits.

    Screenshot mit Indikatorbeschriftungen für Verzweigungen und Tags in der Verlaufsansicht.

Neu mit Version 17.14: Um sich auf nicht synchronisierte Commits zu konzentrieren, können Sie die Symbolleistenschaltfläche " Ausgehende/Eingehende Nur anzeigen " verwenden, um die Verlaufsansicht so zu ändern, dass nur ausgehende Commits angezeigt werden (noch nicht von Ihrer aktuellen Verzweigung verschoben) und eingehende Commits (neu auf der Remoteseite).

Screenshot des Git-Repository-Fensters mit der Schaltfläche

Sie können auch im Kontextmenü "Nur Ausgehende/Eingehende anzeigen" auswählen, indem Sie in der Verlaufsansicht mit der rechten Maustaste auf eine beliebige Stelle klicken.

Vergleich von Commits

Zum Vergleichen von zwei Commits in Ihrem Branch verwenden Sie die Strg-Taste, um die beiden Commits auszuwählen, die Sie vergleichen möchten. Klicken Sie dann mit der rechten Maustaste auf eine davon, und wählen Sie "Commits vergleichen" aus.

Screenshot, wie man zwei Commits vergleicht.

Screenshot von verglichenen Commits.

Tipp

Ähnlich wie commit-Details können Sie die Schaltfläche " In neuer Registerkarte öffnen" verwenden, um den Vergleich auf einer anderen Registerkarte zu öffnen oder auf dem Bildschirm zu maximieren.

Erstellen einer Verzweigung aus einem Commit

In Visual Studio können Sie den Git Graph-Bereich im Git-Repositoryfenster verwenden, um Verzweigungen aus vorherigen Commits zu erstellen. Klicken Sie dazu mit der rechten Maustaste auf den Commit, aus dem Sie eine neue Verzweigung erstellen möchten, und wählen Sie dann "New Branch" aus.

Screenshot des Git Graph-Bereichs des Git Repository-Fensters.

Hinweis

Der entsprechende Befehl für diese Aktion ist git branch <branchname> [<commit-id>].

Branches vergleichen

Das Vergleichen von Verzweigungen bietet eine Übersicht über die Unterschiede zwischen zwei Verzweigungen, die hilfreich sein können, bevor Sie eine Pullanforderung erstellen, zusammenführen oder sogar eine Verzweigung löschen.

Diagramm, das veranschaulicht, wie Git Verzweigungen vergleicht.

Um Ihre aktuell ausgecheckte Verzweigung mit anderen Verzweigungen in Visual Studio zu vergleichen, können Sie die in der Statusleiste gehostete Zweigauswahl verwenden und das Git-Änderungen-Toolfenster nutzen, um eine beliebige lokale oder Remoteverzweigung zum Vergleich auszuwählen. Klicken Sie mit der rechten Maustaste auf die Verzweigung, auf die Sie abzielen, und wählen Sie "Mit Current Branch vergleichen" aus. Alternativ können Sie die Verzweigungsliste im Git Repository-Fenster verwenden, um auf denselben Befehl zuzugreifen.

Animation, die die Einstiegspunkte des Verzweigungsvergleichs zeigt.

Wenn Sie "Mit Current Branch vergleichen " auswählen, wird die Vergleichszweigumgebung geöffnet, in der Sie in der Liste " Änderungen " navigieren und die Datei auswählen können, die Sie vergleichen möchten.

Screenshot, der zeigt, wie Verzweigungen mithilfe der Diff-Ansicht verglichen werden.

Tipp

Wenn Sie einen Inline-Diff bevorzugen, können Sie das Zahnradsymbol "Diff-Konfigurationsoptionen" verwenden und zu einer Inline-Diff-Ansicht wechseln. Screenshot der Diff-Konfigurationsoptionen, die Ihnen zur Verfügung stehen.

Commits auschecken

Das Auschecken eines Commits kann auf mehrere Arten von Vorteil sein. So können Sie beispielsweise zu einem vorherigen Punkt im Repositoryverlauf zurückkehren, an dem Sie Ihren Code ausführen oder testen können. Es kann auch hilfreich sein, wenn Sie Code aus einem entfernten Branch (z. B. einem Branch eines Kollegen) überprüfen möchten. Auf diese Weise müssen Sie keinen lokalen Branch erstellen, wenn Sie nicht vorhaben, dazu beizutragen. In diesem Fall können Sie einfach die Spitze der Remote-Verzweigung auschecken, die Sie überprüfen möchten.

Diagramm, das den Vorgang des Checkouts und der Commits in Git veranschaulicht.

Um einen vorherigen Commit in Visual Studio auszuchecken, öffnen Sie das Git-Repository-Fenster , klicken Sie mit der rechten Maustaste auf den Commit, zu dem Sie zurückkehren möchten, und wählen Sie das Auschecken (–trennen) aus. Visual Studio zeigt ein Bestätigungs-Dialogfeld an, in dem erläutert wird, dass Sie beim Checkout eines Commits in einen getrennten HEAD-Status versetzt werden. Das bedeutet, dass der HEAD Ihres Repositorys direkt auf einen Commit anstelle eines Branches verweist.

Animation, die die Einstiegspunkte für das Commit beim Auschecken zeigt.

Nachdem Sie sich nun in einem getrennten Kopfzustand befinden, können Sie Ihren Code ausführen und testen oder sogar Änderungen untersuchen und übernehmen. Wenn Sie mit der Erkundung fertig sind und zu Ihrer Verzweigung zurückkehren möchten, können Sie ihre Änderungen verwerfen, indem Sie eine vorhandene Verzweigung auschecken oder ihre Änderungen beibehalten, indem Sie zuerst eine neue Verzweigung erstellen .

Von Bedeutung

Commits, die in einem getrennten Head State erstellt wurden, sind keiner Verzweigung zugeordnet und können von Git gesammelt werden, nachdem Sie eine Verzweigung ausgecheckt haben. Aus diesem Grund wird empfohlen, einen neuen Branch zu erstellen, bevor ein Branch ausgecheckt wird. Beispielsweise werden die Commits C5 und C6 gelöscht, wenn wir Main auschecken, ohne einen neuen Branch zu erstellen. Diagramm, das die getrennten Kopf-Commits in Git veranschaulicht.

Weitere Informationen zum losgelösten Head-Zustand finden Sie in der Dokumentation zum losgelösten Head-Zustand von Git.

Das Auschecken eines Remote-Branches kann hilfreich sein, wenn Sie schnell einen Pull Request überprüfen und die neuesten Updates auswerten möchten. Um dies in Visual Studio zu tun, stellen Sie zunächst sicher, dass Sie die neuesten Updates von Ihrem Remote-Repository abrufen und herunterladen. Klicken Sie dann mit der rechten Maustaste auf die Remoteverzweigung, die Sie überprüfen möchten, und wählen Sie "Checkout Tip Commit" aus.

Screenshot der Option 'Checkout-Tipp Commit'.