Introducción al uso de Git en Subsistema de Windows para Linux
Artículo
Git es el sistema de control de versiones más utilizado. Con Git, puede realizar un seguimiento de los cambios realizados 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. Git también facilita la colaboración, lo que permite que los cambios de varias personas se combinen en un origen.
Git se puede instalar en Windows Y en WSL
Una consideración importante: al habilitar WSL e instalar una distribución de Linux, va a instalar un nuevo sistema de archivos, separado de Windows unidad NTFS C:\ en la máquina. En Linux, las unidades no tienen letras. Tienen puntos de montaje. 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. No todo bajo / es la misma unidad. Por ejemplo, en mi portátil, he instalado dos versiones de Ubuntu (20.04 y 18.04), así como Debian. Si abro esas distribuciones, selecciono el directorio raíz con el comando cd ~, y después escribo el comando explorer.exe ., se abrirá el Explorador de archivos de Windows y me mostrará la ruta de acceso al directorio de esa distribución.
Distribución Linux
Ruta de acceso de Windows para acceder a la carpeta principal
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
Sugerencia
Si busca acceder al directorio de archivos de Windows desde la línea de comandos de distribución de WSL, en lugar de C:\Users\username, se accedería al directorio mediante /mnt/c/Users/username, porque la distribución de Linux ve el sistema de archivos de Windows como una unidad montada.
Deberá instalar Git en cada sistema de archivos con el que quiera usarlo.
Installing Git
Git ya está instalado con la mayoría de las distribuciones de Subsistema de Windows para Linux, pero es posible que quiera actualizar a la versión más reciente. También deberá configurar el archivo de configuración de Git.
Para instalar Git, consulte el sitio Descarga de Git para Linux . Cada distribución de Linux tiene su propio administrador de paquetes y comando de instalación.
Para la versión estable más reciente de Git en Ubuntu/Debian, escriba el comando:
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 el nombre con este comando (reemplazando "Su nombre" por su nombre de usuario preferido):
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 prefiera):
Si aún no tiene una cuenta de GitHub, puede registrarse para obtener una en GitHub. Si nunca has trabajado con GIT, las guías de GitHub pueden resultarte de ayuda para empezar. Si tiene que editar la configuración de Git, puede hacerlo con un editor de texto integrado como nano: nano ~/.gitconfig.
Configuración del Administrador de credenciales de Git
El Administrador de credenciales de Git (GCM) es un asistente de credenciales de Git seguro, creado sobre .NET que puede usarse tanto con WSL1 como con WSL2. Habilita la compatibilidad con la autenticación multifactor para repositorios de GitHub, Azure DevOps, Azure DevOps Server y Bitbucket.
GCM 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. A continuación, almacena el token de forma segura en el Administrador de credenciales de Windows. Después de la primera vez, puede usar Git para comunicarse con el proveedor de hospedaje sin necesidad de volver a autenticarse. Solo accederá al token en el Administrador de credenciales de Windows.
Para usar GCM con WSL, debe estar en Windows 10 versión 1903 o posterior. Esta es la primera versión de Windows que incluye la herramienta wsl.exe necesaria que GCM usa para interoperar con Git en sus distribuciones WSL.
Se recomienda instalar el último Git para Windows para compartir credenciales y configuraciones entre WSL y el host de Windows. El Administrador de credenciales de Git se incluye con Git para Windows y la versión más reciente se incluye en cada nueva versión de Git para Windows. Durante la instalación, se le pedirá que seleccione un asistente de credenciales, con GCM establecido como predeterminado.
Si tiene un motivo para no instalar Git para Windows, puede instalar GCM como una aplicación de Linux directamente en la distribución de WSL, pero tenga en cuenta que hacerlo significa que GCM se ejecuta como una aplicación de Linux y no puede usar las características de almacenamiento de credenciales o autenticación del sistema operativo Windows host. Consulte el repositorio de GCM para obtener instrucciones sobre cómo configurar WSL sin Git para Windows.
Para configurar GCM para usarlo con una distribución WSL, abra su distribución y escriba este comando:
El uso de GCM como asistente de credenciales para una instalación de Git de WSL significa que GCM no respeta cualquier configuración establecida en Git de WSL (de forma predeterminada). Esto se debe a que GCM se ejecuta como una aplicación de Windows y, por lo tanto, usará la instalación de Git para Windows para consultar la configuración. Esto significa que cosas como la configuración del proxy para GCM deben establecerse tanto en Git para Windows como en Git de WSL, ya que se almacenan en archivos diferentes (%USERPROFILE%\.gitconfig y \\wsl$\distro\home\$USER\.gitconfig). Puede configurar WSL para que GCM use la configuración de Git de WSL, pero esto significa que la configuración del proxy será única para la instalación de WSL específica y no se compartirá con otros usuarios o el host de Windows.
Git con SSH
El Administrador de credenciales de Git solo funciona con HTTP(S) remotos. Todavía puede usar Git con SSH:
Ahora cualquier operación de Git que realice dentro de su distribución WSL usará GCM. Si ya tiene credenciales almacenadas en caché para un host, accederá a estas desde el Administrador de credenciales. Si no es así, recibirá una respuesta de diálogo que le solicitará sus credenciales, aunque esté en una consola Linux.
Si elige crear un nuevo repositorio usando el sitio web de GitHub, hay casillas de verificación disponibles para inicializar su repositorio con un archivo README, un archivo .gitignore configurado para su tipo de proyecto específico y opciones para agregar una licencia si la necesita.
Git y 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 controlará una variedad de comandos Git automáticamente. Obtenga más información sobre la compatibilidad con Git de VS Code.
Terminaciones de línea de Git
Si está trabajando con la misma carpeta de repositorio entre Windows, WSL o un contenedor, asegúrese de configurar terminaciones de línea coherentes.
Dado que Windows y Linux usan diferentes terminaciones de línea predeterminadas, Git puede notificar un gran número de archivos modificados que no tienen diferencias aparte de sus terminaciones de línea. Para evitar que esto suceda, puede deshabilitar la conversión final de línea mediante un archivo .gitattributes o globalmente en Windows. Consulte este documento de VS Code sobre cómo resolver problemas de terminaciones de líneas de Git.
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de Windows Subsystem for Linux
Windows Subsystem for Linux es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Git es la herramienta principal de control de versiones, y es esencial para los desarrolladores. Obtenga más información sobre cómo usar Git para realizar un seguimiento de sus propios cambios y colaborar con otros usuarios.