Informationen zu Git in Visual Studio
Visual Studio bietet eine Benutzeroberfläche für Git, ein weit verbreitetes modernes System für die Versionskontrolle. Unabhängig davon, ob Ihr Quellcode in einem GitHub-Repository, in Azure DevOps oder bei einem anderen Git-Anbieter gehostet wird, können Sie alle gängigen Versionskontrollaufgaben innerhalb der Visual Studio-IDE durchführen. Sie können aber auch lokal ganz ohne Anbieter arbeiten. Dabei haben Sie die Möglichkeit, Ihre Quelle später sichern, wenn Sie bereit sind, eine Verbindung zu einem Anbieter herzustellen.
Der Quellcode, mit dem Sie arbeiten, muss nicht mit Visual Studio erstellt worden sein. Sie können mit einem beliebigen Quellordner in einem beliebigen Git-Repository arbeiten, unabhängig davon, ob eine Visual Studio-Projektdatei vorhanden ist.
Arbeiten mit Git und GitHub in Visual Studio
So beginnen Sie die Arbeit mit Git in Visual Studio:
Wenn Sie ein Git-Repository auf einem Git-Anbieter wie GitHub gehostet haben, klonen Sie das Repository auf Ihren lokalen Computer.
Erstellen Sie andernfalls einfach ein neues Git-Repository, und fügen Sie Ihren Code hinzu. Wenn Sie über keinen Git-Anbieter verfügen, wird empfohlen, mit GitHub zu beginnen, da die Git-Benutzeroberfläche in Visual Studio für diesen Anbieter optimiert ist. GitHub bietet kostenlosen und sicheren Cloudcodespeicher, in dem Sie Ihren Code speichern können, um von jedem beliebigen Gerät aus und von überall darauf zugreifen zu können.
Sie können Ihre Keychain nicht nur GitHub- und GitHub Enterprise-Konten hinzufügen, sondern sie auch wie Ihre Microsoft-Konten nutzen. Wenn Sie über kein GitHub-Konto verfügen, führen Sie diese Schritte durch, um nun ein GitHub-Konto zur Verwendung von Visual Studio zu erstellen.
Wenn Sie Git-Befehle an der Befehlszeile verwenden möchten, sollten Sie auch Git für Windows installieren (kein Microsoft-Produkt).
Anzeigen von Dateien im Projektmappen-Explorer
Wenn Sie ein Repository klonen oder ein lokales Repository öffnen, wechselt Visual Studio zum Git-Kontext. Der Projektmappen-Explorer lädt den Ordner im Stammverzeichnis des Git-Repositorys und überprüft die Verzeichnisstruktur auf anzeigbare Dateien wie CMakeLists.txt
oder die mit der Dateierweiterung .sln
. Weitere Informationen finden Sie unter Anzeigen von Dateien in Projektmappen-Explorer.
Branches und Remoterepositorys
Sie können Branches verwenden, um verwandte Änderungen von unzusammenhängenden Änderungen, an denen Sie auch arbeiten, voneinander getrennt zu halten. Für Git wird empfohlen, einen neuen Branch für jedes Feature oder jede Korrektur zu verwenden, an dem bzw. der Sie arbeiten. Hier erfahren Sie, wie Sie in Visual Studio einen Branch erstellen.
Sobald Sie einen neuen Branch erstellen und zu diesem wechseln, können Sie vorhandene Dateien bearbeiten oder neue hinzufügen und dann Ihre Arbeit an das Repository committen. Weitere Informationen zum Erstellen eines Commits in Visual Studio und zum besseren Verständnis von Dateizuständen in Git finden Sie auf der Seite Erstellen eines Commits.
Git ist ein verteiltes System zur Versionskontrolle. Daher sind alle Änderungen, die Sie bisher vorgenommen haben, nur lokal gültig. Um diese Änderungen in einem Remoterepository anzuwenden, müssen Sie diese lokalen Commits an ein Remoterepository pushen.
Wenn Sie in einem Team arbeiten oder unterschiedliche Computer verwenden, müssen Sie möglicherweise oft Änderungen aus dem Remoterepository fetchen und pullen. Weitere Informationen zum Verwalten von Git-Netzwerkvorgängen in Visual Studio finden Sie auf der Seite Fetchen, Pullen, Pushen und Synchronisieren.
Repositoryverwaltung und Zusammenarbeit
Manchmal ist es jedoch sinnvoller, sich auf Ihr Git-Repository zu konzentrieren. Beispielsweise müssen Sie sich manchmal einen Überblick darüber verschaffen, woran Ihr Team bereits arbeitet, einen Commit aus einem anderen Branch kopieren oder Ihre ausgehenden Commits bereinigen. Visual Studio enthält leistungsstarke Features zum Durchsuchen von Repositorys und zur Zusammenarbeit, die den Einsatz anderer Tools überflüssig machen.
Wenn Sie sich auf Ihr Git-Repository konzentrieren möchten, können Sie das Fenster Git-Repository in Visual Studio verwenden. Dieses Fenster enthält eine konsolidierte Ansicht aller Details in Ihrem Repository, einschließlich lokaler Branches, Remotbranches und des Commitverlaufs. Sie können entweder über die Optionen Git oder Ansicht auf der Menüleiste oder über die Statusleiste direkt auf dieses Fenster zugreifen.
Durchsuchen und Verwalten von Git-Repositorys
Weitere Informationen zur Verwendung des Fensters „Git-Repository“ in Visual Studio zum Durchsuchen und Verwalten Ihres Git-Repositorys finden Sie auf den folgenden Seiten:
Behandeln von Mergekonflikten
Während eines Mergevorgangs können Konflikte auftreten, wenn zwei Entwickler*innen die gleichen Zeilen in einer Datei ändern und Git nicht automatisch erkennt, welche Zeile korrekt ist. Git hält den Merge an und informiert Sie darüber, dass ein Konflikt besteht. Weitere Informationen finden Sie auf der Seite Lösen von Mergekonflikten.
Personalisieren der Git-Einstellungen
So personalisieren Sie Ihre Git-Einstellungen auf Repositoryebene und auf globaler Ebene:
Wechseln Sie entweder zu Git>Einstellungen auf der Menüleiste oder zu Extras>Optionen>Quellcodeverwaltung>Globale Git-Einstellungen.
Wählen Sie anschließend die gewünschten Optionen aus.
Produktivitätsverbesserungen
In Visual Studio 2022 , Version 17.12, können Sie einen beliebigen Codeabschnitt auswählen und dann mit der rechten Maustaste klicken, das Git-Untermenü erweitern und gitHub Permalink kopieren (oder AzureDevOps Permalink kopieren) auswählen, um einen GitHub Permalink oder Azure DevOps Permalink zu generieren und in die Zwischenablage zu kopieren. Von dort aus können Sie ihn an einer beliebigen Stelle einfügen, an der ein Link verwendet werden kann, im Browser oder über E-Mail, Chatsitzungen und Dokumente freigeben. Sie können dies auch innerhalb der Ansicht mit eingebetteten Commit-Details im Git-Repository-Fenster tun. Mit diesem Feature können Sie auf bestimmten Code aus vorherigen Commits verweisen, ohne zwei Verzweigungen zu wechseln. Sie müssen mit einem Konto mit dem Git-Hostinganbieter, GitHub oder Azure DevOps bei Visual Studio angemeldet sein.
In Visual Studio 2022, Version 17.6, können Sie nach suchen und eine Verbindung zu GitHub-Problemen und Azure DevOps-Arbeitselemente herstellen. Weitere Informationen finden Sie im Blogbeitrag Git-Funktionen zur Steigerung der Produktivität.
Git ist nun die Standardressource für die Versionskontrolle in Visual Studio 2019. Seit Version 16.6 wurde das Featurespektrum anhand des Benutzerfeedbacks weiter ausgearbeitet und verbessert. In Version 16.8 wurde es zur Standardressource für die Versionskontrolle für alle Benutzer*innen.
Hinweis
Die Git-Features werden auch in Visual Studio 2022 weiterentwickelt. Weitere Informationen zu den neuesten Featureupdates finden Sie im Blogbeitrag Unterstützung für mehrere Repositorys in Visual Studio.
Weitere Informationen zu Git
Git ist das am häufigsten verwendete moderne Versionskontrollsystem. Unabhängig davon, ob Sie ein professioneller Entwickler sind oder erst die Grundlagen des Programmierens erlernen, kann Git sehr nützlich für Sie sein. Wenn Sie noch nicht mit Git vertraut sind, ist die Website https://git-scm.com/ ein guter Ausgangspunkt. Dort finden Sie Spickzettel, ein beliebtes E-Book sowie Videos zu den Git-Grundlagen.
Erste Schritte mit Git in Visual Studio 2019
In diesem Artikel erhalten Sie eine detaillierte Anleitung zur Verwendung der neuen Git-Benutzeroberfläche in Visual Studio. Wenn Sie jedoch vorab bereits einen kurzen Blick darauf werfen möchten, können Sie sich das folgende Video ansehen:
Länge des Videos: 5,27 Minuten
Es gibt drei Möglichkeiten, Ihre Produktivität mit Git in Visual Studio zu steigern:
- Erstellen eines neuen Git-Repositorys: Wenn Sie bereits über Code verfügen, der Git nicht zugeordnet ist, können Sie zunächst ein neues Git-Repository erstellen.
- Klonen eines vorhandenen Git-Repositorys: Wenn sich der Code, mit dem Sie arbeiten möchten, nicht auf Ihrem Computer befindet, können Sie jedes beliebige Remoterepository klonen.
- Öffnen eines vorhandenen Git-Repositorys: Wenn sich Ihr Code bereits auf Ihrem Computer befindet, können Sie ihn über Datei>Öffnen>Projekt/Projektmappe (oder Ordner) öffnen. Visual Studio erkennt automatisch, ob ein initialisiertes Git-Repository verfügbar ist.
Hinweis
Ab Visual Studio 2019, Version 16.8 steht Ihnen eine vollständig integrierte GitHub-Kontobenutzeroberfläche zur Verfügung. Sie können Ihrer Keychain nun sowohl GitHub- als auch GitHub Enterprise-Konten hinzufügen. Sie können sie genauso wie bei Microsoft-Konten hinzufügen und nutzen, d. h., dass Sie einfacher auf die GitHub-Ressourcen in Visual Studio zugreifen können. Weitere Informationen finden Sie auf der Seite Arbeiten mit GitHub-Konten in Visual Studio.
Tipp
Wenn Sie noch kein GitHub-Konto besitzen, können Sie mithilfe der auf der Seite Erstellen eines GitHub-Kontos für die Verwendung mit Visual Studio beschriebenen Schritte eines erstellen.
Erstellen eines neuen Git-Repositorys in Visual Studio 2019
Wenn Ihr Code Git nicht zugeordnet ist, können Sie zunächst ein neues Git-Repository erstellen. Klicken Sie hierzu in der Menüleiste auf Git>Git-Repository erstellen. Geben Sie dann in im Dialogfeld Neues Git-Repository erstellen Ihre Informationen ein.
Durch das Dialogfeld Git-Repository erstellen können Sie Ihr neues Repository einfach mithilfe von Push an GitHub übertragen. Ihr neues Repository ist standardmäßig privat. Dies bedeutet, dass Sie die einzige Person sind, die darauf zugreifen kann. Wenn Sie das Kontrollkästchen deaktivieren, ist Ihr Repository öffentlich, sodass es von jedem auf GitHub angezeigt werden kann.
Tipp
Unabhängig davon, ob Ihr Repository privat oder öffentlich ist, ist es am besten, über eine auf GitHub gespeicherte Remotesicherung Ihres Codes zu verfügen, auch wenn Sie nicht mit einem Team zusammenarbeiten. Dies macht Ihren Code auch für Sie verfügbar, unabhängig davon, welchen Computer Sie verwenden.
Sie können ein lokales Git-Repository erstellen, indem Sie die Option Nur lokal verwenden. Sie können Ihr lokales Projekt auch mit einem vorhandenen leeren Remoterepository auf Azure DevOps oder einem anderen Git-Anbieter verknüpfen, indem Sie die Option Vorhandenes Remote verwenden.
Klonen eines vorhandenen Git-Repositorys in Visual Studio 2019
Visual Studio bietet eine direkte Funktion zum Klonen. Wenn Sie die URL des Repositorys kennen, das Sie klonen möchten, können Sie die URL im Abschnitt Repositoryspeicherort einfügen und dann den Speicherort auf dem Datenträger auswählen, an dem Visual Studio das Repository klonen soll.
Wenn Sie die Repository-URL nicht kennen, können Sie mit Visual Studio problemlos Ihr vorhandenes GitHub- oder Azure DevOps-Repository suchen und anschließend klonen.
Öffnen eines vorhandenen lokalen Git-Repositorys in Visual Studio 2019
Nachdem Sie ein Repository geklont oder eines erstellt haben, erkennt Visual Studio das Git-Repository und fügt es der Liste der Local Repositories (Lokale Repositorys) im Git-Menü hinzu.
Von hier aus können Sie schnell auf Ihre Git-Repositorys zugreifen oder zwischen diesen wechseln.
Anzeigen von Dateien im Projektmappen-Explorer in Visual Studio 2019
Wenn Sie ein Repository klonen oder ein lokales Repository öffnen, wechselt Visual Studio in diesen Git-Kontext, indem alle zuvor geöffneten Lösungen und Projekte gespeichert und geschlossen werden. Der Projektmappen-Explorer lädt den Ordner im Stammverzeichnis des Git-Repositorys und überprüft die Verzeichnisstruktur auf anzeigbare Dateien. Hierzu gehören Dateien wie „CMakeLists.txt“ oder solche mit der Dateierweiterung „.sln“.
Visual Studio passt die Ansicht an, je nachdem, welche Datei Sie im Projektmappen-Explorer laden:
- Wenn Sie ein Repository klonen, das eine einzelne
.sln
-Datei enthält, lädt der Projektmappen-Explorer diese Lösung direkt für Sie. - Wenn der Projektmappen-Explorer keine
.sln
-Dateien in Ihrem Repository erkennt, wird standardmäßig die Ordneransicht geladen. - Wenn Ihr Repository mehr als eine
.sln
-Datei enthält, zeigt der Projektmappen-Explorer die Liste der verfügbaren Ansichten an, aus denen Sie eine auswählen können.
Sie können mithilfe der Schaltfläche Ansicht umschalten auf der Symbolleiste des Projektmappen-Explorers zwischen der aktuell geöffneten Ansicht und den Optionen in der Liste der Ansichten wechseln.
Weitere Informationen finden Sie im Abschnitt Anzeigen von Dateien in Projektmappen-Explorer des Tutorials Öffnen eines Projekts aus einem Repository.
Fenster „Git-Änderungen“ in Visual Studio 2019
Git verfolgt Dateiänderungen in Ihrem Repository, während Sie arbeiten, und unterteilt die Dateien in Ihrem Repository in drei Kategorien. Diese Änderungen sind gleichbedeutend mit dem, was Sie sehen, wenn Sie den Befehl git status
in der Befehlszeile eingeben:
- Unveränderte Dateien: Diese Dateien wurden seit dem letzten Commit nicht geändert.
- Geänderte Dateien: Diese Dateien weisen Änderungen seit dem letzten Commit auf, aber Sie haben sie noch nicht für den nächsten Commit gestaget.
- Gestagete Dateien: Diese Dateien weisen Änderungen auf, die mit dem nächsten Commit hinzugefügt werden.
Während Ihrer Arbeit werden Änderungen an Dateien in Ihrem Projekt von Visual Studio im Abschnitt Änderungen des Fensters Git-Änderungen nachverfolgt.
Wenn Sie bereit sind, Änderungen zu stagen, klicken Sie für jede zu stagende Datei auf die Schaltfläche + (Pluszeichen). Alternativ können Sie mit der rechten Maustaste auf eine Datei und dann auf Stufe klicken. Sie können auch alle geänderten Dateien mit einem Mausklick stagen, indem Sie die Schaltfläche + (Pluszeichen) oben im Abschnitt Änderungen zum Stagen aller Dateien verwenden.
Wenn Sie eine Änderung stagen, erstellt Visual Studio den Abschnitt Gestagete Änderungen. Nur Änderungen im Abschnitt Gestagete Änderungen werden beim nächsten Commit hinzugefügt. Klicken Sie hierzu auf Gestageter Commit. Der entsprechende Befehl für diese Aktion ist git commit -m "Your commit message"
. Die Bereitstellung von Änderungen kann auch aufgehoben werden, indem Sie auf die Schaltfläche – (Minuszeichen) klicken. Der entsprechende Befehl für diese Aktion ist git reset <file_path>
, um die Bereitstellung einer einzelnen Datei aufzuheben, oder git reset <directory_path>
, um die Bereitstellung aller Dateien in einem Verzeichnis aufzuheben.
Sie können sich auch dazu entscheiden, Ihre geänderten Dateien nicht zu stagen, indem Sie den Stagingbereich überspringen. In diesem Fall ermöglicht Visual Studio das Committen Ihrer Änderungen direkt ohne Staging. Geben Sie einfach Ihre Commitnachricht ein, und klicken Sie auf Alle committen. Der entsprechende Befehl für diese Aktion ist git commit -a
.
Visual Studio erleichtert mithilfe der Verknüpfungen Commit für alle und Push und Commit für alle und Sync auch das Committen und Synchronisieren mit nur einem Mausklick. Wenn Sie in den Abschnitten Änderungen und Gestagete Änderungen auf eine beliebige Datei doppelklicken, wird ein zeilenweiser Vergleich mit der nicht geänderten Version der Datei angezeigt.
Tipp
Wenn Sie eine Verbindung mit dem Azure DevOps-Repository hergestellt haben, können Sie ein Azure DevOps-Arbeitselement mithilfe des Zeichens „#“ committen. Sie können Ihr Azure DevOps-Repository über Team Explorer>Verbindungen verwalten verbinden.
Auswählen eines vorhandenen Branchs in Visual Studio 2019
Visual Studio zeigt den aktuellen Branch im Selektor am oberen Rand des Fensters Git-Änderungen an.
Der aktuelle Branch ist auch auf der Statusleiste in der rechten unteren Ecke der Visual Studio-IDE verfügbar.
An beiden Speicherorten können Sie zwischen vorhandenen Branches wechseln.
Erstellen eines Branchs in Visual Studio 2019
Sie können auch einen neuen Branch erstellen. Der entsprechende Befehl für diese Aktion ist git checkout -b <branchname>
.
Das Erstellen eines neuen Branchs ist so einfach wie das Eingeben des Branchnamens und Verwenden eines vorhandenen Branchs als Basis.
Sie können einen vorhandenen lokalen Branch oder einen Remotebranch als Basis verwenden. Das Kontrollkästchen Branch auschecken leitet Sie automatisch zum neu erstellten Branch weiter. Der entsprechende Befehl für diese Aktion ist git checkout -b <new-branch><existing-branch>
.
Fenster „Git-Repository“ in Visual Studio 2019
Visual Studio verfügt über das neue Fenster Git-Repository, bei dem es sich um eine konsolidierte Ansicht aller Details in Ihrem Repository einschließlich aller Verläufe in Bezug auf Branches, Remoterepositorys und Commits handelt. Sie können entweder über die Optionen Git oder Ansicht auf der Menüleiste oder über die Statusleiste direkt auf dieses Fenster zugreifen.
Verwalten von Branches in Visual Studio 2019
Wenn Sie im Menü Git auf Branches verwalten klicken, wird im Fenster Git-Repository die Branchstrukturansicht angezeigt. Im linken Bereich können Sie das Kontextmenü (Klick mit der rechten Maustaste) unter anderem verwenden, um Branches zu überprüfen, neue Branches zu erstellen oder diese zusammenzuführen. Außerdem können Sie Rebases und Cherry-Picks ausführen. Wenn Sie auf den Branch klicken, wird im rechten Bereich eine Vorschau des zugehörigen Commitverlaufs angezeigt.
Eingehende und ausgehende Commits in Visual Studio 2019
Wenn Sie einen Branch fetchen, verfügt das Fenster Git-Änderungen unter dem Dropdownmenü für den Branch über einen Indikator, der die Anzahl nicht gepullter Commits aus dem Remotebranch anzeigt. Dieser Indikator zeigt außerdem die Anzahl der nicht mithilfe von Push übertragenen lokalen Commits an.
Der Indikator fungiert auch als Verlinkung zum Commitverlauf des Branchs im Fenster Git-Repository. Oben im Verlauf werden nun die Details dieser eingehenden und ausgehenden Commits angezeigt. Von hier aus können Sie die Commits auch pullen oder mithilfe von Push übertragen.
Commitdetails in Visual Studio 2019
Wenn Sie auf einen Commit doppelklicken, zeigt Visual Studio die entsprechenden Details in einem separaten Toolfenster an. Von hier aus können Sie den Commit rückgängig machen, zurücksetzen, die Commitnachricht ändern oder ein Tag für den Commit erstellen. Wenn Sie auf eine geänderte Datei im Commit klicken, öffnet Visual Studio die parallele Diff-Ansicht des Commits und des übergeordneten Elements.
Behandeln von Mergekonflikten in Visual Studio 2019
Während eines Mergevorgangs können Konflikte auftreten, wenn zwei Entwickler die gleichen Zeilen in einer Datei ändern und Git nicht automatisch weiß, welche Zeile korrekt ist. Git hält den Merge an und informiert Sie darüber, dass ein Konflikt besteht.
Visual Studio erleichtert das Identifizieren und Lösen von Mergekonflikten. Zuerst zeigt das Fenster Git-Repository am oberen Rand eine goldene Infoleiste an.
Das Fenster Git-Änderungen zeigt auch die Meldung "Merge wird mit Konflikten ausgeführt." mit den nicht gemergten Dateien in einem separaten Abschnitt darunter an.
Wenn keines dieser Fenster geöffnet ist und Sie stattdessen zu der Datei mit Mergekonflikten navigieren, müssen Sie nicht nach dem folgenden Text suchen:
<<<<<<< HEAD
=======
>>>>>>> main
Stattdessen zeigt Visual Studio oben auf der Seite eine goldene Infoleiste an, die angibt, dass im Zusammenhang mit der geöffneten Datei Konflikte bestehen. Anschließend können Sie auf die Verlinkung klicken, um den Merge-Editor zu öffnen.
Merge-Editor in Visual Studio 2019
Der Merge-Editor in Visual Studio ist ein Drei-Wege-Mergetool, das die eingehenden Änderungen, die aktuellen Änderungen und das Ergebnis des Merges anzeigt. Sie können die Symbolleiste oben im Merge-Editor verwenden, um zwischen Konflikten und automatisch gemergten Unterschieden in der Datei zu navigieren.
Sie können auch die Umschaltflächen zum Anzeigen bzw. Ausblenden von Unterschieden und Wortunterschieden oder das Anpassen des Layouts verwenden. Oben auf jeder Seite befinden sich Kontrollkästchen, die Sie verwenden können, um alle Änderungen von der einen Seite für die andere Seite zu übernehmen. Wenn Sie jedoch einzelne Änderungen vornehmen möchten, können Sie auf beiden Seiten auf die Kontrollkästchen links neben den in Konflikt stehenden Zeilen klicken. Wenn Sie schließlich die Konflikte beseitigt haben, können Sie im Merge-Editor auf die Schaltfläche Merge akzeptieren klicken. Anschließend schreiben Sie eine Commitnachricht und committen die Änderungen, um den Vorgang abzuschließen.
Personalisieren Ihrer Git-Einstellungen in Visual Studio 2019
Navigieren Sie auf der Menüleiste entweder zu Git>Einstellungen oder zu Extras>Optionen>Quellcodeverwaltung, um Ihre Git-Einstellungen sowohl auf Repositoryebene als auch auf globaler Ebene zu personalisieren und anzupassen. Wählen Sie anschließend die gewünschten Optionen aus.
Verwenden der vollständigen Version von Team Explorer in Visual Studio 2019
Die neue Git-Benutzeroberfläche stellt ab Version 16.8 das Standardsystem für die Versionskontrolle in Visual Studio 2019 bereit. Wenn Sie sie deaktivieren möchten, können Sie dies jedoch auch tun. Wechseln Sie zu Extras>Optionen>Umgebung>Vorschaufeatures, und aktivieren Sie das Kontrollkästchen New Git user experience (Neue Git-Benutzeroberfläche), wodurch Sie zu Team Explorer für Git zurückkehren.
Nächste Schritte
Tipp
Um mehr über die Verwendung von Git und GitHub in Visual Studio zu erfahren, registrieren Sie sich für die Git-Lernreihe.