Erste Schritte verwenden Git auf Windows-Subsystem für Linux

Git ist das am häufigsten verwendete Versionssteuerungssystem. Mit Git können Sie Änderungen nachverfolgen, die Sie an Dateien vornehmen, sodass Sie einen Datensatz darüber haben, was getan wurde, und die Möglichkeit haben, bei Bedarf auf frühere Versionen der Dateien zurückzuverwenden. Git erleichtert auch die Zusammenarbeit, sodass Änderungen von mehreren Personen in einer Quelle zusammengeführt werden können.

Git kann auf Windows UND auf WSL installiert werden.

Wichtige Überlegungen: Wenn Sie WSL aktivieren und eine Linux-Verteilung installieren, installieren Sie ein neues Dateisystem, getrennt vom Windows NTFS C:\ Laufwerk auf Ihrem Computer. In Linux werden keine Laufwerke buchstaben angegeben. Sie erhalten Mountpunkte. Der Stamm des Dateisystems / ist der Bereitstellungspunkt Ihrer Stammpartition oder des Ordners im Fall von WSL. Nicht alles unter / ist das gleiche Laufwerk. Beispielsweise habe ich auf meinem Laptop zwei Versionen von Ubuntu (20.04 und 18.04) sowie Debian installiert. Wenn ich diese Verteilungen öffnet, wählen Sie das Startverzeichnis mit dem Befehl cd ~aus, und geben Sie dann den Befehl explorer.exe .ein, Windows Explorer wird geöffnet und zeigt mir den Verzeichnispfad für diese Verteilung an.

Linux-Einführung Windows Pfad für den Zugriff auf den Startordner
Ubuntu 20.04 \\wsl$\Ubuntu-20.04\home\username
Ubuntu 18.04 \\wsl$\Ubuntu-18.04\home\username
Debian \\wsl$\Debian\home\username
Windows PowerShell C:\Users\username

Tipp

Wenn Sie über die WSL-Verteilungsbefehlszeile auf das Windows Dateiverzeichnis zugreifen möchten, wird anstelle des C:\Users\usernameVerzeichnisses auf /mnt/c/Users/usernamedas Verzeichnis zugegriffen, da die Linux-Verteilung Ihr Windows Dateisystem als bereitgestelltes Laufwerk anzeigt.

Sie müssen Git auf jedem Dateisystem installieren, mit dem Sie es verwenden möchten.

Showing Git versions by distro

Installieren von Git

Git ist bereits mit den meisten Windows-Subsystem für Linux Distributionen installiert, Sie möchten jedoch möglicherweise auf die neueste Version aktualisieren. Außerdem müssen Sie Ihre Git-Konfigurationsdatei einrichten.

Informationen zum Installieren von Git finden Sie auf der Git Download for Linux-Website . Jede Linux-Distribution verfügt über einen eigenen Paket-Manager und installationsbefehl.

Geben Sie für die neueste stabile Git-Version in Ubuntu/Debian den Befehl ein:

sudo apt-get install git

Hinweis

Möglicherweise möchten Sie Git auch für Windows installieren, wenn Sie noch nicht vorhanden sind.

Setup der Git-Konfigurationsdatei

Um Ihre Git-Konfigurationsdatei einzurichten, öffnen Sie eine Befehlszeile für die Verteilung, in der Sie arbeiten, und legen Sie Ihren Namen mit diesem Befehl fest (ersetzen Sie "Ihr Name" durch Ihren bevorzugten Benutzernamen):

git config --global user.name "Your Name"

Legen Sie Ihre E-Mail mit diesem Befehl fest (ersetzen Sie "youremail@domain.com" durch die von Ihnen bevorzugte E-Mail):

git config --global user.email "youremail@domain.com"

Tipp

Wenn Sie noch kein GitHub Konto haben, können Sie sich bei GitHub für ein Konto registrieren. Wenn Sie noch nie zuvor mit Git gearbeitet haben, können Sie GitHub-Leitfäden für den Einstieg nutzen. Wenn Sie Ihre Git-Konfiguration bearbeiten müssen, können Sie dies mit einem integrierten Text-Editor wie Nano tun: nano ~/.gitconfig

Es wird empfohlen, Ihr Konto mit zweistufiger Authentifizierung (2FA) zu sichern.

Einrichtung des Git-Anmeldeinformations-Managers

Git Credential Manager (GCM) ist ein sicheres Git-Anmeldeinformationshilfsprogramm, das auf .NET basiert, das sowohl mit WSL1 als auch mit WSL2 verwendet werden kann. Es ermöglicht die Unterstützung der mehrstufigen Authentifizierung für GitHub Repos, Azure DevOps, Azure DevOps Server und Bitbucket.

GCM in den Authentifizierungsfluss für Dienste wie GitHub integriert und fordert nach der Authentifizierung bei Ihrem Hostinganbieter ein neues Authentifizierungstoken an. Anschließend wird das Token sicher im Windows Anmeldeinformations-Manager gespeichert. Nach dem ersten Mal können Sie Git verwenden, um mit Ihrem Hostinganbieter zu sprechen, ohne sich erneut zu authentifizieren. Er greift einfach auf das Token in Windows-Anmeldeinformationsverwaltung zu.

Um GCM mit WSL zu verwenden, müssen Sie Windows 10 Version 1903 oder höher sein. Dies ist die erste Version von Windows, die das erforderliche wsl.exe Tool enthält, das GCM zum Interoperieren mit Git in Ihren WSL-Verteilungen verwendet.

Es wird empfohlen, das neueste Git für Windows zu installieren, um Anmeldeinformationen & zwischen WSL und dem Windows-Host freizugeben. Git Credential Manager ist in Git für Windows enthalten und die neueste Version ist in jedem neuen Git für Windows Release enthalten. Während der Installation werden Sie aufgefordert, eine Hilfsprogramm für Anmeldeinformationen auszuwählen, wobei GCM als Standard festgelegt sind.

Wenn Sie git für Windows nicht installieren möchten, können Sie GCM als Linux-Anwendung direkt in Ihrer WSL-Verteilung installieren, beachten Sie jedoch, dass GCM als Linux-Anwendung ausgeführt wird und die Authentifizierungs- oder Anmeldeinformationsspeicherfunktionen des Hosts Windows Betriebssystems nicht nutzen können. Anweisungen zum Konfigurieren von WSL ohne Git für Windows finden Sie im GCM-Repo.

Um GCM für die Verwendung mit einer WSL-Verteilung einzurichten, öffnen Sie Ihre Verteilung, und geben Sie diesen Befehl ein:

Wenn GIT installiert ist >= v2.36.1

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager-core.exe"

andernfalls wenn version < v2.36.1 diesen Befehl eingibt:

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe"

Hinweis

Die Verwendung von GCM als Hilfsprogramm für Anmeldeinformationen für eine WSL Git-Installation bedeutet, dass alle in WSL Git festgelegten Konfigurationen nicht von GCM (standardmäßig) beachtet werden. Dies liegt daran, dass GCM als Windows Anwendung ausgeführt wird und daher die Git für Windows Installation zur Abfragekonfiguration verwendet. Dies bedeutet, dass Proxyeinstellungen für GCM in Git für Windows sowie WSL-Git festgelegt werden müssen, da sie in verschiedenen Dateien (%USERPROFILE%\.gitconfigvs\\wsl$\distro\home\$USER\.gitconfig). Sie können WSL so konfigurieren, dass GCM die WSL-Git-Konfiguration verwendet. Dies bedeutet jedoch, dass Proxyeinstellungen für die spezifische WSL-Installation eindeutig sind und nicht für andere oder den Windows-Host freigegeben werden.

Git mit SSH

Git Credential Manager funktioniert nur mit HTTP(S)-Remotes. Sie können Git weiterhin mit SSH verwenden:

Zusätzliche Konfiguration für Azure

Wenn Sie mit Azure Repos oder Azure DevOps arbeiten möchten, ist eine zusätzliche Konfiguration erforderlich:

git config --global credential.https://dev.azure.com.useHttpPath true

Jetzt wird jeder Git-Vorgang, den Sie in Ihrer WSL-Verteilung ausführen, GCM verwenden. Wenn Sie bereits Anmeldeinformationen für einen Host zwischengespeichert haben, greifen Sie über die Anmeldeinformationsverwaltung auf diese zu. Andernfalls erhalten Sie eine Dialogfeldantwort, in der Ihre Anmeldeinformationen angefordert werden, auch wenn Sie sich in einer Linux-Konsole befinden.

Tipp

Wenn Sie einen GPG-Schlüssel für die Codesignatursicherheit verwenden, müssen Sie möglicherweise Ihren GPG-Schlüssel ihrer GitHub E-Mail zuordnen.

Hinzufügen einer Git-Ignorieren-Datei

Es wird empfohlen, ihrer Projekte eine Gitignore-Datei hinzuzufügen. GitHub bietet eine Sammlung nützlicher GITignore-Vorlagen mit empfohlenen GITIGnore-Dateisetups, die nach Ihrem Anwendungsfälle organisiert sind. Hier ist beispielsweise GitHub standardmäßige Gitignore-Vorlage für ein Node.js Projekt.

Wenn Sie ein neues Repo mithilfe der GitHub-Website erstellen möchten, stehen Kontrollkästchen zur Initialisierung Ihres Repo mit einer README-Datei, gitignore-Datei, die für Ihren spezifischen Projekttyp eingerichtet ist, und Optionen zum Hinzufügen einer Lizenz zur Verfügung.

Git und VS Code

Visual Studio Code enthält integrierte Unterstützung für Git, einschließlich einer Registerkarte für quellcodeverwaltung, die Ihre Änderungen anzeigt und eine Vielzahl von Git-Befehlen für Sie behandelt. Erfahren Sie mehr über die Git-Unterstützung von VS Code.

Git-Zeilenende

Wenn Sie mit demselben Repositoryordner zwischen Windows, WSL oder einem Container arbeiten, müssen Sie konsistente Zeilenende einrichten.

Da Windows und Linux unterschiedliche Standardzeilenende verwenden, meldet Git möglicherweise eine große Anzahl geänderter Dateien, die keine Unterschiede neben ihren Zeilenende aufweisen. Um dies zu verhindern, können Sie die Zeilenendekonvertierung mithilfe einer .gitattributes Datei oder global auf der Windows-Seite deaktivieren. In diesem VS Code Dokument finden Sie Informationen zum Beheben von Problemen bei der Beendigung von Git-Zeilen.

Zusätzliche Ressourcen