Git-Einstellungen und Einstellungen in Visual Studio

In Visual Studio können Sie allgemeine Git-Einstellungen und Einstellungen konfigurieren und anzeigen, z. B. Ihren Namen und Ihre E-Mail-Adresse, Ihre bevorzugten Diff- und Mergetools und vieles mehr. Diese Einstellungen können auf der Seite Git Global Settings (Globale Git-Einstellungen) (gilt für alle Repositorys) oder auf der Seite Git-Repositoryeinstellungen (gilt für das aktuelle Repository) im Dialogfeld Optionen angezeigt und konfiguriert werden.

Sie können zwei Arten von Einstellungen konfigurieren:

  • Git-Einstellungen: Die Einstellungen in diesem Abschnitt entsprechen Git-Einstellungen, die in Git-Konfigurationsdateien gespeichert werden. Diese Einstellungen können in Visual Studio angezeigt und geändert werden, werden aber von Git-Konfigurationsdateien verwaltet.
  • Visual Studio-Einstellungen: Mit den Einstellungen in diesem Abschnitt werden Git-bezogene Einstellungen und solche Einstellungen konfiguriert, die von Visual Studio verwaltet werden.

So konfigurieren Sie Einstellungen

  1. Wählen Sie zum Konfigurieren der Git-Einstellungen in Visual Studio im Git-Menü der obersten Ebene die Option Einstellungen aus.

    Das Git-Menü mit einer Legende für den Befehl „Einstellungen.

  2. Wählen Sie Git Global Settings (Globale Git-Einstellungen) oder Git-Repositoryeinstellungen aus, um Einstellungen auf globaler Ebene oder auf Repositoryebene anzuzeigen und zu konfigurieren.

    Der Navigationsbereich im Dialogfeld „Optionen“ mit einer Legende für Git-Einstellungen.

  3. Sie können mehrere allgemeine Git-Einstellungen konfigurieren, wie in den folgenden Abschnitten dieses Artikels beschrieben. Wählen Sie nach dem Konfigurieren der gewünschten Einstellungen OK aus, um die aktualisierten Einstellungen zu speichern.

    Der Anzeigebereich des Dialogfelds „Optionen“ mit einer Legende zur Schaltfläche „OK“.

Git-Einstellungen

Sie können auch einige der gängigsten Git-Konfigurationseinstellungen konfigurieren und überprüfen. Sie können die folgenden Einstellungen in Visual Studio anzeigen und ändern, obwohl sie von Git-Konfigurationsdateien verwaltet werden.

Hinweis

Die unter Globale Einstellungen von Visual Studio konfigurierten Git-Einstellungen entsprechen Einstellungen in der benutzerspezifischen Konfigurationsdatei von Git, und die Einstellungen in Repositoryeinstellungen entsprechen den Einstellungen in der repositoryspezifischen Konfigurationsdatei. Weitere Informationen zur Git-Konfiguration finden Sie im Pro Git-Kapitel zum Anpassen von Git, in der git-config-Dokumentation und in der Pro Git-Referenz zu Konfigurationsdateien. Verwenden Sie zum Konfigurieren von Git-Einstellungen, die in Visual Studio nicht bereitgestellt werden, den Befehl git config, um einen Wert in die Konfigurationsdateien zu schreiben: git config [--local|--global|--system] section.key value.

Name und E-Mail-Adresse

Der von Ihnen bereitgestellte Name und die angegebene E-Mail-Adresse werden als Committerinformationen für jeden Commit verwendet, den Sie vornehmen. Diese Einstellung ist sowohl im globalen Bereich als auch im Repositorybereich verfügbar und entspricht den Einstellungen git config user.name und user.email.

  1. Wechseln Sie im Git-Menü zu Einstellungen. Wenn Sie Ihren Benutzernamen und Ihre E-Mail-Adresse auf globaler Ebene festlegen möchten, wechseln Sie zu Git Global Settings (Globale Git-Einstellungen). Wenn Sie Ihren Benutzernamen und Ihre E-Mail-Adresse auf Repositoryebene festlegen möchten, wechseln Sie zu Git-Repositoryeinstellungen.

  2. Geben Sie Ihren Benutzernamen und Ihre E-Mail-Adresse an, und wählen Sie dann zum Speichern OK aus.

    Bereich „Git Global Settings“ (Globale Git-Einstellungen) im Dialogfeld „Optionen“ mit einer Legende zum Benutzernamen und zur E-Mail-Adresse.

Remotebranches beim Abrufen löschen

Beim Löschen werden Remotenachverfolgungsbranches entfernt, die remote nicht mehr vorhanden sind. Außerdem werden Sie dabei unterstützt, die Liste Ihrer Branches übersichtlich und aktuell zu halten. Diese Einstellung ist sowohl im globalen Bereich als auch im Repositorybereich verfügbar und entspricht der git config fetch.prune-Einstellung.

Es wird empfohlen, diese Option auf globaler Ebene auf True festzulegen. Die gültigen Einstellungen lauten wie folgt:

  • True (empfohlen)
  • False
  • Unset (Nicht festgelegt) (Standard)

Hier erfahren Sie, wie Sie die Einstellungen ändern können:

  1. Wechseln Sie im Git-Menü zu Einstellungen. Navigieren Sie zu Git Global Settings (Globale Git-Einstellungen), um diese Option auf globaler Ebene zu konfigurieren. Wechseln Sie zu Git-Repositoryeinstellungen, um diese Option auf Repositoryebene zu konfigurieren.

  2. Legen Sie Remotebranches während des Abrufvorgangs löschen auf True fest (empfohlen). Klicken Sie zum Speichern auf OK.

    Screenshot: Hervorgehobene Option „Remotebranches während des Abrufvorgangs löschen“ und mit ausgewählter Option „True“ in der Dropdownliste.

Während des Pullvorgangs Rebase für lokalen Branch ausführen

Beim Ausführen des Rebasevorgangs werden die von Commits vorgenommenen Änderungen im aktuellen Branch, die sich nicht im Upstreambranch befinden, zurückgestellt, der aktuelle Branch wird auf den Upstreambranch zurückgesetzt, und dann werden die Änderungen angewendet, die zurückgestellt wurden. Diese Einstellung ist sowohl im globalen Bereich als auch im Repositorybereich verfügbar und entspricht der git config pull.rebase-Einstellung. Die gültigen Einstellungen lauten wie folgt:

  • True: Führen Sie einen Rebasevorgang für den aktuellen Branch nach dem Abruf auf dem Upstreambranch aus.

  • False: Führen Sie den aktuellen Branch mit dem Upstreambranch zusammen.

  • Unset (Nicht festgelegt) (Standard): Führen Sie den aktuellen Branch mit dem Upstreambranch zusammen, sofern er nicht in anderen Konfigurationsdateien angegeben ist.

  • Interaktiv: Führen Sie einen Rebasevorgang im interaktiven Modus aus.

  • Merges (Zusammenführungen): Führen Sie einen Rebasevorgang aus, ohne lokal erstellte Mergecommits zu vereinfachen.

    Hinweis

    In Visual Studio 2022, Version 17.2, wurde die Einstellung „Beibehalten“ in „Merges“ (Zusammenführungen) geändert, damit einem aktuellen Update von Git entsprochen wird. Wenn Sie also eine frühere Version von Visual Studio mit Git-Tools verwenden, wird auf der Benutzeroberfläche möglicherweise „Beibehalten“ anstelle von „Merges“ (Zusammenführungen) angezeigt. Die Funktionsweise bleibt jedoch unverändert.

Hier erfahren Sie, wie Sie die Einstellungen ändern können:

  1. Wechseln Sie im Git-Menü zu Einstellungen. Navigieren Sie zu Git Global Settings (Globale Git-Einstellungen), um diese Option auf globaler Ebene zu konfigurieren. Wechseln Sie zu Git-Repositoryeinstellungen, um diese Option auf Repositoryebene zu konfigurieren.

  2. Legen Sie Während des Pullvorgangs Rebase für lokalen Branch durchführen auf die gewünschte Einstellung fest, und wählen Sie zum Speichern OK aus.

    Screenshot: „Während des Pullvorgangs Rebase für lokalen Branch durchführen“ hervorgehoben und „Merges“ (Zusammenführungen) aus der Dropdownliste ausgewählt.

In Visual Studio ist es nicht möglich, pull.rebase auf Interaktiv zu konfigurieren. Visual Studio bietet keine Unterstützung für interaktive Rebasevorgänge. Verwenden Sie die Befehlszeile, um pull.rebase so zu konfigurieren, dass der interaktive Modus verwendet wird.

Kryptografienetzwerkanbieter

Der Kryptografienetzwerkanbieter ist eine Git-Konfigurationseinstellung im globalen Bereich, mit der konfiguriert wird, welches TLS/SSL-Back-End zur Laufzeit verwendet werden soll, und entspricht der Einstellung git config http.sslBackend. Folgende Werte sind möglich:

  • OpenSSL: Verwenden Sie OpenSSL für TLS- und SSL-Protokolle.
  • Sicherer Kanal: Verwenden Sie Sicherer Kanal (Schannel) für TLS- und SSL-Protokolle. Schannel ist die native Windows-Lösung, die auf den Windows Credential Store zugreift und so die unternehmensweite Verwaltung von Zertifikaten ermöglicht.
  • Unset (Nicht festgelegt) (Standard): Wenn diese Einstellung nicht festgelegt ist, ist OpenSSL der Standard.

Hier erfahren Sie, wie Sie die Einstellungen ändern können:

  1. Wechseln Sie im Git-Menü zu Einstellungen. Navigieren Sie zu Git Global Settings (Globale Git-Einstellungen), um diese Einstellung zu konfigurieren.

  2. Legen Sie Kryptografienetzwerkanbieter auf den gewünschten Wert fest, und wählen Sie zum Speichern OK aus.

    Screenshot: „Kryptografienetzwerkanbieter“ hervorgehoben mit ausgewählter Option „OpenSSL“ in der Dropdownliste.

Anmeldeinformationenhilfsprogramm

Wenn von Visual Studio ein Git-Remotevorgang ausgeführt wird, wird die Anforderung vom Remoteendpunkt möglicherweise abgelehnt, da Anmeldeinformationen für die Anforderung bereitgestellt werden müssen. Zu diesem Zeitpunkt wird von Git ein Anmeldeinformationenhilfsprogramm aufgerufen, das die Anmeldeinformationen zurückgibt, die zum Ausführen des Vorgangs erforderlich sind. Dann wird die Anforderung erneut versucht. Das verwendete Anmeldeinformationenhilfsprogramm entspricht der Einstellung git config credential.helper. Sie ist im globalen Bereich mit den folgenden Werten verfügbar:

  • Git-Anmeldeinformationsverwaltung für Windows: Verwenden Sie die Git-Anmeldeinformationsverwaltung für Windows als Hilfsprogramm.
  • GCM Core (Git-Anmeldeinformationsverwaltung – Core): Verwenden Sie Git Credential Manager Core (Git-Anmeldeinformationsverwaltung – Core) als Hilfsprogramm.
  • Unset (Nicht festgelegt) (Standard): Wenn diese Einstellung nicht festgelegt ist, wird das in der Systemkonfiguration festgelegte Anmeldeinformationenhilfsprogramm verwendet. Ab Git für Windows 2.29 ist das Standardhilfsprogramm für Anmeldeinformationen GCM Core.

Hier erfahren Sie, wie Sie die Einstellungen ändern können:

  1. Wechseln Sie im Git-Menü zu Einstellungen. Navigieren Sie zu Git Global Settings (Globale Git-Einstellungen), um diese Einstellung zu konfigurieren.

  2. Legen Sie das Anmeldeinformationenhilfsprogramm auf den gewünschten Wert fest, und klicken Sie zum Speichern auf OK.

    Screenshot: Einstellung „Anmeldeinformationenhilfsprogramm“ im Dialogfeld „Optionen“.

Diff- und Mergetools

Von Git werden Unterschiede und Mergekonflikte in Ihren bevorzugten Tools angezeigt. Die Einstellungen in diesem Abschnitt entsprechen den Einstellungen git config diff.tool and merge.tool. Sie können Git für die Verwendung von Visual Studio als Merge- oder Diff-Tool in Git Global Settings (Globale Git-Einstellungen) und Git-Repositoryeinstellungen konfigurieren, indem Sie Visual Studio verwenden auswählen. Verwenden Sie zum Konfigurieren anderer Diff- und Mergetools git config die Option diff.tool oder merge.tool.

Screenshot: Abschnitt zum Festlegen des Standard-Diff- und -Mergetools im Dialogfeld „Optionen“.

Git files (Git-Dateien)

Sie können den Abschnitt Git files (Git-Dateien) im Bereich Git-Repositoryeinstellungen verwenden, um die gitignore- und gitattributes-Dateien für Ihr Repository anzuzeigen und zu bearbeiten.

Screenshot: Abschnitt zum Anzeigen und Bearbeiten der Ignorieren- und Attributdateien in Ihrem Repository.

Remotes

Sie können den Bereich Remotes unter Git-Repositoryeinstellungen verwenden, um die Remoteelemente für Ihr Repository zu konfigurieren. Diese Einstellung entspricht dem Befehl git remote und ermöglicht Ihnen das Hinzufügen, Bearbeiten oder Entfernen von Remoterepositorys.

Screenshot: Bereich für Git-Remoteelemente im Dialogfeld „Optionen“.

Andere Einstellungen

Zum Anzeigen all Ihrer anderen Git-Konfigurationseinstellungen können Sie die Konfigurationsdateien öffnen und anzeigen, oder Sie können git config --list ausführen, um die Einstellungen anzuzeigen.

Einstellungen von Visual Studio

Mit den folgenden Einstellungen verwalten Sie Git-bezogene Einstellungen in Visual Studio; sie werden von Visual Studio anstelle von Git-Konfigurationsdateien verwaltet. Alle Einstellungen in diesem Abschnitt werden auf der Seite Git Global Settings (Globale Git-Einstellungen) konfiguriert.

Standardposition

Mit dem Standardspeicherort wird der Standardordner konfiguriert, in dem Repositorys geklont werden.

Screenshot: Feld „Standardspeicherort“ im Dialogfeld „Optionen“

Beim Öffnen eines Repositorys nicht in Git verwaltete geöffnete Projektmappen schließen

Standardmäßig werden von Visual Studio alle geöffneten Projektmappen oder Ordner geschlossen, wenn Sie zu einem anderen Repository wechseln. Wenn dies der Fall ist, wird möglicherweise auch die Projektmappe oder der Ordner des neuen Repositorys geladen, je nachdem, ob Sie die Option Beim Öffnen eines Git-Repositorys Ordner in Projektmappen-Explorer öffnen und Automatisches Laden der Projektmappe beim Öffnen eines Git-Repositorys ausgewählt haben. Dadurch wird die Konsistenz zwischen dem offenen Code und dem geöffneten Repository beibehalten. Wenn sich die Projektmappe jedoch nicht im selben Ordnerstamm wie das Repository befindet, sollten Sie die Projektmappe beim Wechsel zu ihrem Repository geöffnet lassen. Dies ist mit dieser Einstellung möglich. Folgende Werte sind möglich:

  • Ja: Wenn ein Repository geöffnet wird, wird die derzeit geöffnete Projektmappe immer geschlossen.

  • Nein: Wenn ein Repository geöffnet wird, wird von Visual Studio überprüft, ob sich die aktuelle Projektmappe in Git befindet. Andernfalls bleibt die Projektmappe geöffnet.

  • Immer fragen (Standard): Wenn diese Option festgelegt ist, können Sie über ein Dialogfeld pro geöffnetem Repository auswählen, ob Sie die aktuelle Projektmappe geöffnet lassen oder schließen möchten.

    Screenshot: Einstellung zum Schließen der Projektmappe im Dialogfeld „Optionen“.

Download von Autorenimages aus Drittanbieterquellen aktivieren

Die Option „Download von Autorenimages aus Drittanbieterquellen aktivieren“ ist eine Visual Studio-spezifische Einstellung im globalen Bereich. Wenn diese Option aktiviert ist, werden Autorenbilder aus dem Gravatar-Bilddienst heruntergeladen, sofern verfügbar, und in den Commit- und Verlaufsansichten angezeigt.

Screenshot: Kontrollkästchen zum Aktivieren des Downloads von Autorenbildern aus einer Drittanbieterquelle im Dialogfeld „Optionen“

Wichtig

Damit Autorenbilder in Commit- und Verlaufsansichten bereitgestellt werden können, wird vom Tool ein MD5-Hash für die E-Mail-Adressen des Autors erstellt, die im aktiven Repository gespeichert sind. Dieser Hash wird dann an den Gravatar-Bilddienst gesendet, damit ein übereinstimmender Hashwert für Benutzer ermittelt werden kann, die sich zuvor für den Dienst registriert haben. Wenn eine Übereinstimmung gefunden wird, wird das Benutzerbild aus dem Dienst abgerufen und in Visual Studio angezeigt. Für Benutzer, die den Dienst nicht konfiguriert haben, wird ein zufällig generiertes Bild zurückgegeben. Beachten Sie, dass E-Mail-Adressen weder von Visual Studio aufgezeichnet noch mit Gravatar oder anderen Drittanbietern geteilt werden.

Änderungen nach Mergevorgängen standardmäßig committen

Wenn Änderungen nach Mergevorgängen standardmäßig committen aktiviert ist, wird von Git automatisch ein neuer Commit erstellt, wenn ein Branch mit dem aktuellen Branch zusammengeführt wird.

Screenshot: Kontrollkästchen „Änderungen nach Mergevorgängen standardmäßig committen“ im Dialogfeld „Optionen“.

  • Wenn diese Option aktiviert ist, werden von Visual Studio ausgegebene git merge-Befehle mit der Option --commit ausgeführt.
  • Wenn diese Option deaktiviert ist, werden von Visual Studio ausgegebene git merge-Befehle mit den Optionen --no-commit --no-ff ausgeführt.

Weitere Informationen zu diesen Optionen finden Sie unter --commit und --no-commit und --no-ff.

„push --force-with-lease“ aktivieren

Wenn diese Einstellung aktiviert ist, können Sie in Visual Studio push --force-with-lease verwenden. Die Option „push --force-with-lease aktivieren ist standardmäßig deaktiviert.

Screenshot: Kontrollkästchen „‚push --force-with-lease‘ aktivieren“ im Dialogfeld „Optionen“

Weitere Informationen finden Sie unter push --force-with-lease.

Beim Öffnen eines Git-Repositorys Ordner in Projektmappen-Explorer öffnen

Wenn Sie Visual Studio dazu verwenden, ein Git-Repository zu öffnen oder zu einem solchen zu wechseln, wird von Visual Studio der Git-Inhalt geladen, damit Sie Änderungen, Commits und Branches anzeigen und Ihr Repository innerhalb der IDE verwalten können. Darüber hinaus wird von Visual Studio auch der Code des Repositorys in Projektmappen-Explorer geladen. Von Visual Studio wird der Repositoryordner nach Projektmappen, CMakeLists.txt oder anderen Anzeigedateien gescannt, die von Visual Studio erkannt werden. Diese werden als Liste in Projektmappen-Explorer angezeigt. Dort können Sie eine zu ladende Projektmappe oder den Ordner auswählen, um den Verzeichnisinhalt anzuzeigen. Wenn Sie dieses Kontrollkästchen deaktivieren, wird der Repositoryordner von Visual Studio nicht in Projektmappen-Explorer geöffnet. Dadurch können Sie Visual Studio im Wesentlichen nur als Git-Repository-Manager öffnen. Diese Einstellung ist standardmäßig eingeschaltet.

Screenshot: Kontrollkästchen zum Öffnen von Ordnern beim Öffnen eines Git-Repositorys im Dialogfeld „Optionen“

Automatisches Laden der Projektmappe beim Öffnen eines Git-Repositorys

Diese Einstellung gilt nur, wenn die Einstellung Beim Öffnen eines Git-Repositorys Ordner in Projektmappen-Explorer öffnen aktiviert ist. Wenn Sie ein Git-Repository in Visual Studio öffnen und bei der anschließenden Ordnerüberprüfung erkannt wird, dass nur eine Projektmappe in Ihrem Repository vorhanden ist, wird diese Projektmappe von Visual Studio automatisch geladen. Wenn Sie die Einstellung deaktivieren, wird in Projektmappen-Explorer die einzelne Projektmappe, die im Repository vorhanden ist, in der Liste der Ansichten angezeigt. Die Projektmappe wird jedoch nicht geladen. Diese Einstellung ist standardmäßig deaktiviert.

Screenshot: Kontrollkästchen zum automatischen Laden der Projektmappe beim Öffnen eines Git-Repositorys im Dialogfeld „Optionen“

Automatically check out branches with double-click or the Enter key (Automatisches Auschecken von Branches mit Doppelklick oder Eingabetaste)

Das Git-Repositoryfenster enthält eine Liste von Branches, die in einer Strukturdarstellung angezeigt werden. Durch einmaliges Auswählen eines Branchs wird der Commitverlaufsbereich so gewechselt, dass die Commits für den ausgewählten Branch angezeigt werden. Zum Auschecken eines Branchs können Sie mit der rechten Maustaste klicken, um das Kontextmenü zu öffnen und Auschecken auszuwählen. Wenn Sie diese Einstellung aktivieren, wird durch Doppelklicken oder Drücken der Eingabetaste der Branch ausgecheckt und die zugehörigen Commits werden angezeigt.

Screenshot: Kontrollkästchen zum Auschecken von Branches mit Doppelklick oder Eingabetaste im Dialogfeld „Optionen“

Wichtig

Wenn Sie einen Vorschlag haben, können Sie uns diesen gerne mitteilen. Wir freuen uns, Entwurfsentscheidungen im Portal für die Entwicklercommunity diskutieren zu können.