Démarrage à l’aide de Git sur Sous-système Windows pour Linux

Git est le système de contrôle de version le plus couramment utilisé. Avec Git, vous pouvez suivre les modifications que vous apportez aux fichiers, de sorte que vous avez un enregistrement de ce qui a été fait et avoir la possibilité de revenir aux versions antérieures des fichiers si nécessaire. Git facilite également la collaboration, ce qui permet aux modifications de plusieurs personnes d’être fusionnées en une seule source.

Git peut être installé sur Windows AND sur WSL

Une considération importante : lorsque vous activez WSL et installez une distribution Linux, vous installez un nouveau système de fichiers, séparé du Windows NTFS C:\ lecteur sur votre machine. Dans Linux, les lecteurs ne sont pas donnés de lettres. Ils sont donnés des points de montage. La racine de votre système / de fichiers est le point de montage de votre partition racine ou dossier, dans le cas de WSL. Tout ce sous / n’est pas le même lecteur. Par exemple, sur mon ordinateur portable, j’ai installé deux versions d’Ubuntu (20.04 et 18.04), ainsi que Debian. Si j’ouvre ces distributions, sélectionnez le répertoire d’accueil avec la commandecd ~, puis entrez la commandeexplorer.exe ., Windows Explorateur de fichiers s’ouvre et affiche le chemin d’accès du répertoire pour cette distribution.

Distribution Linux chemin d’accès au dossier d’accueil Windows
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

Conseil

Si vous recherchez à accéder au répertoire de fichiers Windows à partir de votre ligne de commande de distribution WSL, au lieu de C:\Users\username, le répertoire est accessible à l’aide/mnt/c/Users/username, car la distribution Linux affiche votre système de fichiers Windows en tant que lecteur monté.

Vous devez installer Git sur chaque système de fichiers avec lequel vous envisagez de l’utiliser.

Showing Git versions by distro

Installation de Git

Git est déjà installé avec la plupart des distributions Sous-système Windows pour Linux, toutefois, vous souhaiterez peut-être effectuer une mise à jour vers la dernière version. Vous devez également configurer votre fichier de configuration Git.

Pour installer Git, consultez le téléchargement Git pour le site Linux. Chaque distribution Linux a son propre gestionnaire de package et commande d’installation.

Pour la dernière version de Git stable dans Ubuntu/Debian, entrez la commande :

sudo apt-get install git

Remarque

Vous pouvez également installer Git pour Windows si ce n’est déjà fait.

Configuration du fichier de configuration Git

Pour configurer votre fichier de configuration Git, ouvrez une ligne de commande pour la distribution dans laquelle vous travaillez et définissez votre nom avec cette commande (en remplaçant « Votre nom » par votre nom d’utilisateur préféré) :

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

Définissez votre e-mail par cette commande (en remplaçant «youremail@domain.com » par l’e-mail que vous préférez) :

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

Conseil

Si vous n’avez pas encore de compte GitHub, vous pouvez vous inscrire à un compte GitHub. Si vous n’avez jamais travaillé avec Git, les guides GitHub peuvent vous aider à démarrer. Si vous devez modifier votre configuration Git, vous pouvez le faire avec un éditeur de texte intégré comme nano : nano ~/.gitconfig

Nous vous recommandons de sécuriser votre compte avec l’authentification à deux facteurs (2FA).

Configuration de Git Credential Manager

Git Credential Manager (GCM) est un helper d’informations d’identification Git sécurisé basé sur .NET qui peut être utilisé avec WSL1 un WSL2. Il permet la prise en charge de l’authentification multifacteur pour GitHub repos, Azure DevOps, Azure DevOps Server et Bitbucket.

GCM s’intègre au flux d’authentification pour les services tels que GitHub et, une fois que vous êtes authentifié auprès de votre fournisseur d’hébergement, demande un nouveau jeton d’authentification. Il stocke ensuite le jeton en toute sécurité dans le gestionnaire d’informations d’identification Windows. Après la première fois, vous pouvez utiliser Git pour communiquer avec votre fournisseur d’hébergement sans avoir besoin de ré-authentifier. Il accède simplement au jeton dans le gestionnaire d’informations d’identification Windows.

Pour utiliser GCM avec WSL, vous devez être sur Windows 10 version 1903 ou ultérieure. Il s’agit de la première version de Windows qui inclut l’outil requis wsl.exe que GCM utilise pour interagir avec Git dans vos distributions WSL.

Il est recommandé d’installer la dernière version de Git pour Windows afin de partager les paramètres d’informations & d’identification entre WSL et l’hôte Windows. Git Credential Manager est inclus avec Git pour Windows et la dernière version est incluse dans chaque nouvelle version de Git pour Windows version. Pendant l’installation, vous êtes invité à sélectionner un assistant d’informations d’identification, avec GCM défini comme valeur par défaut.

Si vous n’avez pas de raison d’installer Git pour Windows, vous pouvez installer GCM en tant qu’application Linux directement dans votre distribution WSL, mais notez que cela signifie que GCM est en cours d’exécution en tant qu’application Linux et ne peut pas utiliser les fonctionnalités d’authentification ou de stockage d’informations d’identification de l’hôte Windows système d’exploitation. Consultez le dépôt GCM pour obtenir des instructions sur la configuration de WSL sans Git pour Windows.

Pour configurer GCM à utiliser avec une distribution WSL, ouvrez votre distribution et entrez cette commande :

Si GIT est installé est >= v2.36.1

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

sinon, si la version est < v2.36.1, entrez cette commande :

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

Remarque

L’utilisation de GCM comme assistance d’informations d’identification pour une installation de WSL Git signifie que toute configuration définie dans WSL Git n’est pas respectée par GCM (par défaut). Cela est dû au fait que GCM s’exécute en tant qu’application Windows, et utilise donc Git pour Windows installation pour interroger la configuration. Cela signifie que les paramètres de proxy pour GCM doivent être définis dans Git pour Windows ainsi que WSL Git, car ils sont stockés dans différents fichiers (%USERPROFILE%\.gitconfigvs\\wsl$\distro\home\$USER\.gitconfig). Vous pouvez configurer WSL afin que GCM utilise la configuration Git WSL, mais cela signifie que les paramètres de proxy seront uniques à l’installation de WSL spécifique et non partagés avec d’autres personnes ou l’hôte Windows.

Git avec SSH

Git Credential Manager fonctionne uniquement avec les distants HTTP(S). Vous pouvez toujours utiliser Git avec SSH :

Configuration supplémentaire pour Azure

Si vous envisagez d’utiliser Azure Repos ou Azure DevOps, une configuration supplémentaire est requise :

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

Maintenant, toute opération git que vous effectuez dans votre distribution WSL utilise GCM. Si vous avez déjà mis en cache les informations d’identification d’un hôte, celui-ci y accède à partir du gestionnaire d’informations d’identification. Si ce n’est pas le cas, vous recevez une réponse de boîte de dialogue demandant vos informations d’identification, même si vous êtes dans une console Linux.

Conseil

Si vous utilisez une clé GPG pour la sécurité de signature de code, vous devrez peut-être associer votre clé GPG à votre e-mail GitHub.

Ajout d’un fichier Git Ignore

Nous vous recommandons d’ajouter un fichier .gitignore à vos projets. GitHub offre une collection de modèles .gitignore utiles avec des configurations de fichiers .gitignore recommandées organisées en fonction de votre cas d’utilisation. Par exemple, voici le modèle gitignore par défaut de GitHub pour un projet Node.js.

Si vous choisissez de créer un dépôt à l’aide du site web GitHub, il existe des cases à cocher disponibles pour initialiser votre dépôt avec un fichier README, un fichier .gitignore configuré pour votre type de projet spécifique et des options pour ajouter une licence si vous en avez besoin.

Git et VS Code

Visual Studio Code est fourni avec la prise en charge intégrée de Git, y compris un onglet de contrôle de code source qui affiche vos modifications et gère une variété de commandes Git pour vous. En savoir plus sur le support Git de VS Code.

Fin de ligne Git

Si vous utilisez le même dossier de référentiel entre Windows, WSL ou un conteneur, veillez à configurer des terminaisons de ligne cohérentes.

Étant donné que Windows et Linux utilisent des fins de ligne par défaut différentes, Git peut signaler un grand nombre de fichiers modifiés qui n’ont aucune différence en dehors de leurs terminaisons de ligne. Pour éviter ce problème, vous pouvez désactiver la conversion de fin de ligne à l’aide d’un .gitattributes fichier ou globalement côté Windows. Consultez ce document VS Code sur la résolution des problèmes de fin de ligne Git.

Ressources supplémentaires