Prise en main de Git sur le sous-système Windows pour LinuxGet started using Git on Windows Subsystem for Linux

Git est le système de contrôle de version le plus couramment utilisé.Git is the most commonly used version control system. Avec git, vous pouvez suivre les modifications apportées aux fichiers, afin de disposer d’un enregistrement de ce qui a été effectué et de pouvoir revenir aux versions antérieures des fichiers si nécessaire.With Git, you can track changes you make to files, so you have a record of what has been done, and have the ability to revert to earlier versions of the files if needed. Git facilite également la collaboration, ce qui permet de fusionner les modifications de plusieurs personnes dans une seule source.Git also makes collaboration easier, allowing changes by multiple people to all be merged into one source.

Git peut être installé sur Windows et sur WSLGit can be installed on Windows AND on WSL

Remarque importante : lorsque vous activez WSL et installez une distribution Linux, vous installez un nouveau système de fichiers, séparé de Windows NTFS C:\ sur votre ordinateur.An important consideration: when you enable WSL and install a Linux distribution, you are installing a new file system, separated from the Windows NTFS C:\ drive on your machine. Dans Linux, les lecteurs ne disposent pas de lettres.In Linux, drives are not given letters. Ils reçoivent des points de montage.They are given mount points. La racine de votre système de fichiers / est le point de montage de votre partition racine, ou dossier, dans le cas de WSL.The root of your file system / is the mount point of your root partition, or folder, in the case of WSL. Tout ce qui / se trouve sous est le même lecteur.Not everything under / is the same drive. Par exemple, sur mon ordinateur portable, j’ai installé deux versions d’Ubuntu (20,04 et 18,04), ainsi que Debian.For example, on my laptop, I've installed two version of Ubuntu (20.04 and 18.04), as well as Debian. Si j’ouvre ces distributions, sélectionnez le répertoire racine à l’aide de la commande cd ~ , puis entrez la commande explorer.exe . , l’Explorateur de fichiers Windows s’ouvre et affiche le chemin d’accès au répertoire pour cette distribution.If I open those distributions, select the root directory with the command cd ~, and then enter the command explorer.exe ., Windows File Explorer will open and show me the directory path for that distribution.

Distribution LinuxLinux distro Chemin Windows pour accéder au dossier de destinationWindows Path to access home folder
Ubuntu 20.04Ubuntu 20.04 \\wsl$\Ubuntu-20.04\home\username
Ubuntu 18.04Ubuntu 18.04 \\wsl$\Ubuntu-18.04\home\username
DebianDebian \\wsl$\Debian\home\username
Windows PowerShellWindows PowerShell C:\Users\username

Conseil

Si vous cherchez à 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 de /mnt/c/Users/username , car la distribution Linux affiche votre système de fichiers Windows en tant que lecteur monté.If you are seeking to access the Windows file directory from your WSL distribution command line, instead of C:\Users\username, the directory would be accessed using /mnt/c/Users/username, because the Linux distribution views your Windows file system as a mounted drive.

Vous devez installer Git sur chaque système de fichiers avec lequel vous avez l’intention de l’utiliser.You will need to install Git on each file system that you intend to use it with.

Présentation des versions de git par distribution

Installation de GitInstalling Git

Git est déjà installé avec la majeure partie du sous-système Windows pour les distributions Linux. Toutefois, vous souhaiterez peut-être mettre à jour vers la dernière version.Git comes already installed with most of the Windows Subsystem for Linux distributions, however, you may want to update to the latest version. Vous devrez également configurer votre fichier de configuration git.You also will need to set up your git config file.

Pour installer Git, consultez le site Télécharger git pour Linux .To install Git, see the Git Download for Linux site. Chaque distribution Linux possède son propre gestionnaire de package et sa propre commande d’installation.Each Linux distribution has their own package manager and install command.

Pour obtenir la dernière version stable de git dans Ubuntu/Debian, entrez la commande suivante :For the latest stable Git version in Ubuntu/Debian, enter the command:

sudo apt-get install git

Notes

Vous pouvez également installer Git pour Windows si vous ne l’avez pas déjà fait.You also may want to install Git for Windows if you haven't already.

Configuration du fichier de configuration gitGit config file setup

Pour configurer votre fichier de configuration git, ouvrez une ligne de commande pour la distribution dans laquelle vous travaillez et définissez votre nom à l’aide de cette commande (en remplaçant « Your Name » par votre nom d’utilisateur git) :To set up your Git config file, open a command line for the distribution you're working in and set your name with this command (replacing "Your Name" with your Git username):

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

Définissez votre adresse de messagerie à l’aide de cette commande (en remplaçant « youremail@domain.com » par l’adresse de messagerie que vous utilisez sur votre compte git) :Set your email with this command (replacing "youremail@domain.com" with the email you use on your Git account):

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

Conseil

Si vous n’avez pas encore de compte Git, vous pouvez vous inscrire pour en obtenir un sur GitHub.If you don't yet have a Git account, you can sign-up for one on GitHub. Si vous n’avez jamais travaillé avec Git, les guides GitHub peuvent vous aider à démarrer.If you've never worked with Git before, GitHub Guides can help you get started. Si vous avez besoin de modifier votre configuration git, vous pouvez le faire avec un éditeur de texte intégré tel que Nano : nano ~/.gitconfig.If you need to edit your git config, you can do so with a built-in text editor like nano: nano ~/.gitconfig.

Nous vous recommandons de sécuriser votre compte avec l’authentification à deux facteurs (2FA).We recommend that you secure your account with two-factor authentication (2FA).

Installation du gestionnaire d’informations d’identification gitGit Credential Manager setup

Git Credential Manager vous permet d’authentifier un serveur git distant, même si vous disposez d’un modèle d’authentification complexe comme l’authentification à deux facteurs, Azure Active Directory ou à l’aide d’URL distantes SSH qui requièrent un mot de passe de clé SSH pour chaque Push git.Git Credential Manager enables you to authenticate a remote Git server, even if you have a complex authentication pattern like two-factor authentication, Azure Active Directory, or using SSH remote URLs that require an SSH key password for every git push. Git Credential Manager s’intègre au flux d’authentification des 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.Git Credential Manager integrates into the authentication flow for services like GitHub and, once you're authenticated to your hosting provider, requests a new authentication token. Il stocke ensuite le jeton en toute sécurité dans le Gestionnaire d’informations d’identification Windows.It then stores the token securely in the Windows Credential Manager. Après la première fois, vous pouvez utiliser Git pour communiquer avec votre fournisseur d’hébergement sans avoir à vous réauthentifier.After the first time, you can use git to talk to your hosting provider without needing to re-authenticate. Il accède simplement au jeton dans le gestionnaire d’informations d’identification Windows.It will just access the token in the Windows Credential Manager.

Pour configurer Git Credential Manager en vue de l’utiliser avec une distribution WSL, ouvrez votre distribution et entrez cette commande :To set up Git Credential Manager for use with a WSL distribution, open your distribution and enter this command:

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

À présent, toute opération git que vous effectuez dans votre distribution WSL utilise le gestionnaire d’informations d’identification.Now any git operation you perform within your WSL distribution will use the credential manager. 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.If you already have credentials cached for a host, it will access them from the credential manager. 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.If not, you'll receive a dialog response requesting your credentials, even if you're in a Linux console.

Notes

Si vous utilisez une clé GPG pour la sécurité de la signature du code, vous devrez peut-être associer votre clé GPG à votre adresse E-mail GitHub.If you are using a GPG key for code signing security, you may need to associate your GPG key with your GitHub email.

Ajout d’un fichier git ignoreAdding a Git Ignore file

Nous vous recommandons d’ajouter un fichier. gitignore à vos projets.We recommend adding a .gitignore file to your projects. GitHub offre une collection de modèles. gitignore utiles avec les configurations de fichiers. gitignore recommandés, organisées en fonction de votre cas d’utilisation.GitHub offers a collection of useful .gitignore templates with recommended .gitignore file setups organized according to your use-case. Par exemple, voici le modèle gitignore par défaut de GitHub pour un projet Node.js.For example, here is GitHub's default gitignore template for a Node.js project.

Si vous choisissez de créer un référentiel à l’aide du site Web GitHub, des cases à cocher sont disponibles pour initialiser votre référentiel avec un fichier Lisez-moi, un fichier. gitignore configuré pour votre type de projet spécifique, ainsi que des options pour ajouter une licence si vous en avez besoin.If you choose to create a new repo using the GitHub website, there are check boxes available to initialize your repo with a README file, .gitignore file set up for your specific project type, and options to add a license if you need one.

Git et VS CodeGit and 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 diverses commandes git pour vous.Visual Studio Code comes with built-in support for Git, including a source control tab that will show your changes and handle a variety of git commands for you. En savoir plus sur la prise en charge de git par vs code.Learn more about VS Code's Git support.

Fins de ligne gitGit line endings

Si vous utilisez le même dossier de référentiel entre Windows, WSL ou un conteneur, veillez à définir des fins de ligne cohérentes.If you are working with the same repository folder between Windows, WSL, or a container, be sure to set up consistent line endings.

É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 pas de différences par rapport à leurs fins de ligne.Since Windows and Linux use different default line endings, Git may report a large number of modified files that have no differences aside from their line endings. Pour éviter ce problème, vous pouvez désactiver la conversion de fin de ligne à l’aide d’un .gitattributes fichier ou globalement du côté Windows.To prevent this from happening, you can disable line ending conversion using a .gitattributes file or globally on the Windows side. Consultez cette vs code document sur la résolution des problèmes de fin de ligne git.See this VS Code doc about resolving Git line ending issues.

Ressources supplémentairesAdditional resources