Introdução ao uso do git no subsistema do Windows para LinuxGet started using Git on Windows Subsystem for Linux

O Git é o sistema de controle de versão mais comumente usado.Git is the most commonly used version control system. Com o Git, você pode controlar as alterações feitas nos arquivos, de modo que tem um registro do que foi feito e ter a capacidade de reverter para versões anteriores dos arquivos, se necessário.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. O Git também facilita a colaboração, permitindo que as alterações feitas por várias pessoas sejam mescladas em uma fonte.Git also makes collaboration easier, allowing changes by multiple people to all be merged into one source.

O Git pode ser instalado no Windows e no WSLGit can be installed on Windows AND on WSL

Uma consideração importante: ao habilitar o WSL e instalar uma distribuição do Linux, você está instalando um novo sistema de arquivos, separado do Windows NTFS C:\ em seu computador.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. No Linux, as unidades não recebem letras.In Linux, drives are not given letters. Eles recebem pontos de montagem.They are given mount points. A raiz do sistema de arquivos / é o ponto de montagem de sua partição raiz, ou pasta, no caso do WSL.The root of your file system / is the mount point of your root partition, or folder, in the case of WSL. Nem tudo / está sob a mesma unidade.Not everything under / is the same drive. Por exemplo, em meu laptop, instalei duas versões do Ubuntu (20, 4 e 18, 4), bem como debian.For example, on my laptop, I've installed two version of Ubuntu (20.04 and 18.04), as well as Debian. Se eu abrir essas distribuições, selecionar o diretório raiz com o comando cd ~ e, em seguida, inserir o comando explorer.exe . , o explorador de arquivos do Windows será aberto e mostrarei o caminho do diretório para essa distribuição.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.

Distribuição LinuxLinux distro Caminho do Windows para acessar a pasta baseWindows 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

Dica

Se você estiver procurando acessar o diretório de arquivos do Windows de sua linha de comando de distribuição WSL, em vez de C:\Users\username , o diretório será acessado usando /mnt/c/Users/username , pois a distribuição do Linux exibe o sistema de arquivos do Windows como uma unidade montada.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.

Será necessário instalar o Git em cada sistema de arquivos com o qual você pretende usá-lo.You will need to install Git on each file system that you intend to use it with.

Mostrando versões do git por distribuição

Instalando o GitInstalling Git

O Git já vem instalado com a maioria das distribuições do subsistema do Windows para Linux, no entanto, talvez você queira atualizar para a versão mais recente.Git comes already installed with most of the Windows Subsystem for Linux distributions, however, you may want to update to the latest version. Também será necessário configurar o arquivo de configuração do git.You also will need to set up your git config file.

Para instalar o Git, consulte o download do git para o site do Linux .To install Git, see the Git Download for Linux site. Cada distribuição do Linux tem seu próprio Gerenciador de pacotes e comando de instalação.Each Linux distribution has their own package manager and install command.

Para a versão mais recente do GIt estável no Ubuntu/Debian, insira o comando:For the latest stable GIt version in Ubuntu/Debian, enter the command:

sudo apt-get install git

Observação

Você também pode querer instalar o Git para Windows se ainda não tiver feito isso.You also may want to install Git for Windows if you haven't already.

Configuração do arquivo de configuração gitGit config file setup

Para configurar o arquivo de configuração do git, abra uma linha de comando para a distribuição na qual você está trabalhando e defina seu nome com esse comando (substituindo "seu nome" pelo seu nome de usuário do 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"

Defina seu email com este comando (substituindo " youremail@domain.com " pelo email que você usa em sua conta do 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"

Dica

Se você ainda não tiver uma conta do Git, poderá se inscrever em uma no GitHub.If you don't yet have a Git account, you can sign-up for one on GitHub. Se você nunca trabalhou com o Git antes, os Guias do GitHub podem ajudar você a começar a usá-lo.If you've never worked with Git before, GitHub Guides can help you get started. Se você precisar editar o git config, poderá fazer isso com um editor de texto interno como o 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.

Recomendamos que você proteja sua conta com a autenticação de dois fatores (2FA).We recommend that you secure your account with two-factor authentication (2FA).

Instalação do git Credential ManagerGit Credential Manager setup

O Gerenciador de credenciais do git permite autenticar um servidor git remoto, mesmo que você tenha um padrão de autenticação complexo, como autenticação de dois fatores, Azure Active Directory ou usando URLs remotas SSH que exigem uma senha de chave SSH para cada Push do 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. O Gerenciador de Credenciais do Git se integra ao fluxo de autenticação para serviços como o GitHub e, uma vez que você está autenticado no provedor de hospedagem, solicita um novo token de autenticação.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. Em seguida, ele armazena o token com segurança no Gerenciador de credenciais do Windows.It then stores the token securely in the Windows Credential Manager. Após a primeira vez, você pode usar o Git para se comunicar com seu provedor de hospedagem sem a necessidade de uma nova autenticação.After the first time, you can use git to talk to your hosting provider without needing to re-authenticate. Ele só acessará o token no Gerenciador de Credenciais do Windows.It will just access the token in the Windows Credential Manager.

Para configurar o Gerenciador de Credenciais do Git para uso com uma distribuição do WSL, abra a distribuição e insira este comando: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"

Agora, todas as operações de git realizadas na distribuição do WSL usarão o Gerenciador de Credenciais.Now any git operation you perform within your WSL distribution will use the credential manager. Se você já tiver credenciais armazenadas em cache para um host, elas serão acessadas do Gerenciador de Credenciais.If you already have credentials cached for a host, it will access them from the credential manager. Caso contrário, você receberá uma resposta em uma caixa de diálogo solicitando suas credenciais, mesmo que esteja em um console do Linux.If not, you'll receive a dialog response requesting your credentials, even if you're in a Linux console.

Observação

Se você estiver usando uma chave GPG para segurança de assinatura de código, talvez seja necessário associar sua chave GPG ao seu email do GitHub.If you are using a GPG key for code signing security, you may need to associate your GPG key with your GitHub email.

Adicionando um arquivo de ignorar gitAdding a Git Ignore file

É recomendável adicionar um arquivo. gitignore a seus projetos.We recommend adding a .gitignore file to your projects. O GitHub oferece uma coleção de modelos. gitignore úteis com as configurações de arquivo. gitignore recomendadas organizadas de acordo com seu caso de uso.GitHub offers a collection of useful .gitignore templates with recommended .gitignore file setups organized according to your use-case. Por exemplo, aqui está o modelo de gitignore padrão do GitHub para um projeto Node.js.For example, here is GitHub's default gitignore template for a Node.js project.

Se você optar por criar um novo repositório usando o site do GitHub, há caixas de seleção disponíveis para inicializar o repositório com um arquivo Leiame, o arquivo. gitignore configurado para o tipo de projeto específico e as opções para adicionar uma licença se você precisar de uma.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 e VS CodeGit and VS Code

O Visual Studio Code vem com suporte interno para git, incluindo uma guia de controle do código-fonte que mostrará suas alterações e tratará uma variedade de comandos git para você.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. Saiba mais sobre o suporte ao git de vs Code.Learn more about VS Code's Git support.

Terminações de linha gitGit line endings

Se você estiver trabalhando com a mesma pasta de repositório entre Windows, WSL ou um contêiner, certifique-se de configurar as terminações de linha consistentes.If you are working with the same repository folder between Windows, WSL, or a container, be sure to set up consistent line endings.

Como o Windows e o Linux usam diferentes terminações de linha padrão, o Git pode relatar um grande número de arquivos modificados que não têm nenhuma diferença além das suas terminações de linha.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. Para evitar que isso aconteça, você pode desabilitar a conversão de terminação de linha usando um .gitattributes arquivo ou globalmente no lado do Windows.To prevent this from happening, you can disable line ending conversion using a .gitattributes file or globally on the Windows side. Consulte este vs Code doc sobre como resolver problemas de finalização de linha do git.See this VS Code doc about resolving Git line ending issues.

Recursos adicionaisAdditional resources