Introducción al uso de Git en el subsistema de Windows para LinuxGet started using Git on Windows Subsystem for Linux

Git es el sistema de control de versiones que se usa con más frecuencia.Git is the most commonly used version control system. Con git, puede realizar un seguimiento de los cambios que realice en los archivos, por lo que tiene un registro de lo que se ha hecho y tiene la capacidad de revertir a versiones anteriores de los archivos si es necesario.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 también facilita la colaboración, lo que permite combinar varios usuarios en un solo origen.Git also makes collaboration easier, allowing changes by multiple people to all be merged into one source.

GIT se puede instalar en Windows y en WSLGit can be installed on Windows AND on WSL

Una consideración importante: al habilitar WSL e instalar una distribución de Linux, está instalando un nuevo sistema de archivos, separado de Windows NTFS C:. en el equipo.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. En Linux, las unidades no tienen letras.In Linux, drives are not given letters. Se les proporcionan puntos de montaje.They are given mount points. La raíz del sistema de archivos / es el punto de montaje de la partición raíz, o carpeta, en el caso de WSL.The root of your file system / is the mount point of your root partition, or folder, in the case of WSL. No todo lo / que hay en es la misma unidad.Not everything under / is the same drive. Por ejemplo, en mi portátil, he instalado dos versiones de Ubuntu (20,04 y 18,04), así como Debian.For example, on my laptop, I've installed two version of Ubuntu (20.04 and 18.04), as well as Debian. Si abro esas distribuciones, selecciona el directorio raíz con el comando cd ~ y, a continuación, escribe el comando explorer.exe . , se abrirá el explorador de archivos de Windows y se mostrará la ruta de acceso del directorio para esa distribución.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.

Distribución de LinuxLinux distro Ruta de acceso de Windows para acceder a la carpeta principalWindows 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

Sugerencia

Si está buscando tener acceso al directorio de archivos de Windows desde la línea de comandos de distribución de WSL, en lugar de C:\Users\username , se puede obtener acceso al directorio mediante /mnt/c/Users/username , ya que la distribución de Linux visualiza el sistema de archivos de Windows como una unidad 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.

Deberá instalar git en cada sistema de archivos con el que quiera usarlo.You will need to install Git on each file system that you intend to use it with.

Mostrar las versiones de Git por distribución

Installing GitInstalling Git

Git ya está instalado con la mayoría de las distribuciones del subsistema de Windows para Linux. sin embargo, es posible que desee actualizar a la versión más reciente.Git comes already installed with most of the Windows Subsystem for Linux distributions, however, you may want to update to the latest version. También tendrá que configurar el archivo de configuración de Git.You also will need to set up your git config file.

Para instalar GIT, consulte el sitio de descarga de Git para Linux .To install Git, see the Git Download for Linux site. Cada distribución de Linux tiene su propio administrador de paquetes e comando de instalación.Each Linux distribution has their own package manager and install command.

Para la última versión estable de Git en Ubuntu/Debian, escriba el comando:For the latest stable Git version in Ubuntu/Debian, enter the command:

sudo apt-get install git

Nota

También puede que desee instalar git para Windows si aún no lo ha hecho.You also may want to install Git for Windows if you haven't already.

Configuración del archivo de configuración de GitGit config file setup

Para configurar el archivo de configuración de Git, abra una línea de comandos para la distribución en la que está trabajando y establezca su nombre con este comando (reemplace "your name" por su nombre de usuario de 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"

Establezca el correo electrónico con este comando (reemplazando " youremail@domain.com " por el correo electrónico que usa en su cuenta de 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"

Sugerencia

Si aún no tienes una cuenta de GIT, puedes registrarte para crear una en GitHub.If you don't yet have a Git account, you can sign-up for one on GitHub. Si nunca has trabajado con GIT, las guías de GitHub pueden resultarte de ayuda para empezar.If you've never worked with Git before, GitHub Guides can help you get started. Si tienes que editar la configuración de GIT, puedes hacerlo con un editor de texto integrado como 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.

Le recomendamos que Proteja su cuenta con la autenticación en dos fases (2FA).We recommend that you secure your account with two-factor authentication (2FA).

Instalación del administrador de credenciales de GitGit Credential Manager setup

El administrador de credenciales de Git le permite autenticar un servidor GIT remoto, incluso si tiene un patrón de autenticación complejo como la autenticación en dos fases, Azure Active Directory o el uso de direcciones URL remotas SSH que requieren una contraseña de clave SSH para cada extracción de 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. El Administrador de credenciales de GIT se integra en el flujo de autenticación para servicios como GitHub y, una vez que se ha autenticado en el proveedor de hospedaje, solicita un nuevo token de autenticación.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. A continuación, almacena el token de forma segura en el Administrador de credenciales de Windows.It then stores the token securely in the Windows Credential Manager. Después de la primera vez, puede usar GIT para comunicarse con el proveedor de hospedaje sin necesidad de volver a autenticarse.After the first time, you can use git to talk to your hosting provider without needing to re-authenticate. Solo accederá al token en el Administrador de credenciales de Windows.It will just access the token in the Windows Credential Manager.

Para configurar el Administrador de credenciales de GIT para su uso con una distribución de WSL, abra la distribución y escriba 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"

Ahora, cualquier operación de GIT que realice dentro de la distribución de WSL usará el Administrador de credenciales.Now any git operation you perform within your WSL distribution will use the credential manager. Si ya tiene credenciales almacenadas en caché para un host, accederá a estas desde el Administrador de credenciales.If you already have credentials cached for a host, it will access them from the credential manager. Si no es así, recibirá una respuesta de diálogo que le solicitará sus credenciales, aunque esté en una consola Linux.If not, you'll receive a dialog response requesting your credentials, even if you're in a Linux console.

Nota

Si usa una clave de GPG para la seguridad de la firma de código, puede que tenga que asociar la clave GPG con el correo electrónico de github.If you are using a GPG key for code signing security, you may need to associate your GPG key with your GitHub email.

Agregar un archivo de omisión de GitAdding a Git Ignore file

Se recomienda agregar un archivo. gitignore a los proyectos.We recommend adding a .gitignore file to your projects. GitHub ofrece una colección de plantillas. gitignore útiles con las configuraciones de archivos. gitignore recomendadas organizadas según el caso de uso.GitHub offers a collection of useful .gitignore templates with recommended .gitignore file setups organized according to your use-case. Por ejemplo, esta es la plantilla gitignore predeterminada de github para un proyecto Node.js.For example, here is GitHub's default gitignore template for a Node.js project.

Si decide crear un nuevo repositorio mediante el sitio web de github, hay casillas disponibles para inicializar el repositorio con un archivo Léame, el archivo. gitignore configurado para el tipo de proyecto específico y las opciones para agregar una licencia, si es necesario.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 y VS CodeGit and VS Code

Visual Studio Code incluye compatibilidad integrada con git, incluida una pestaña de control de código fuente que mostrará los cambios y controle una variedad de comandos de Git.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. Más información sobre la compatibilidad de Git de vs Code.Learn more about VS Code's Git support.

Fin de línea de GitGit line endings

Si está trabajando con la misma carpeta de repositorio entre Windows, WSL o un contenedor, asegúrese de configurar finales de línea coherentes.If you are working with the same repository folder between Windows, WSL, or a container, be sure to set up consistent line endings.

Dado que Windows y Linux usan distintos finales de línea predeterminados, GIT puede informar de un gran número de archivos modificados que no tienen ninguna diferencia con respecto a los finales de línea.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 esto suceda, puede deshabilitar la conversión de final de línea mediante un .gitattributes archivo o globalmente en el lado de Windows.To prevent this from happening, you can disable line ending conversion using a .gitattributes file or globally on the Windows side. Vea este vs Code documento sobre cómo resolver problemas de finalización de línea de Git.See this VS Code doc about resolving Git line ending issues.

Recursos adicionalesAdditional resources