Introducción al uso de Git en Subsistema de Windows para Linux

Git es el sistema de control de versiones más usado. Con Git, puede realizar un seguimiento de los cambios realizados en los archivos, de modo que tenga un registro de lo que se ha hecho y tenga 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 solo origen.

Git se puede instalar en Windows AND en WSL

Una consideración importante: al habilitar WSL e instalar una distribución de Linux, está instalando un nuevo sistema de archivos, separado del Windows NTFS C:\ unidad en la máquina. En Linux, las unidades no reciben letras. Se les dan 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 en / está en 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, seleccione el directorio principal con el comando y, a continuación, escriba el comando , Windows Explorador de archivos se abrirá y me mostrará la ruta de acceso del directorio para cd ~explorer.exe . esa distribución.

Distribución de Linux Windows acceso 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 , se accedería al directorio mediante , porque la distribución de Linux ve el sistema de archivos de Windows como una unidad C:\Users\username/mnt/c/Users/username montada.

Tendrá que instalar Git en cada sistema de archivos con el que piensa usarlo.

Mostrar versiones de Git por distro

Installing Git

Git ya está instalado con la mayoría de las distribuciones 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 de descarga de Git para Linux. Cada distribución de Linux tiene su propio administrador de paquetes e comando de instalación.

Para la versión estable más reciente de Git en Ubuntu/Debian, escriba el comando :

sudo apt-get install git

Nota:

También puede que quiera instalar Git para Windows si aún no lo ha hecho.

Configuración del archivo de configuración de Git

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 (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):

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

Sugerencia

Si aún no tiene una cuenta 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 necesita editar la configuración de Git, puede hacerlo con un editor de texto integrado como nano: nano ~/.gitconfig .

Se recomienda proteger la cuenta con la autenticación en dos fases (2FA).

Configuración Administrador de credenciales Git

Git Administrador de credenciales (GCM) Core 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 inserción de Git. GCM Core se integra en el flujo de autenticación para servicios como GitHub y, una vez autenticado en el proveedor de hospedaje, solicita un nuevo token de autenticación. A continuación, almacena el token de forma segura en el Windows Administrador de credenciales. Después de la primera vez, puede usar Git para hablar con el proveedor de hospedaje sin necesidad de volver a autenticarse. Solo accederá al token en el Administrador de credenciales de Windows.

Para configurar GCM Core para su uso con una distribución de WSL, abra la distribución y escriba este comando:

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

Si piensa trabajar con Azure Repos, se requiere alguna configuración adicional:

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

Ahora, cualquier operación de Git que realice dentro de la distribución de WSL usará GCM Core. 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.

Nota:

Si usa una clave GPG para la seguridad de firma de código, es posible que tenga que asociar la clave GPGa su GitHub correo electrónico .

Adición de un archivo de ignore de Git

Se recomienda agregar un archivo .gitignore a los proyectos. GitHub ofrece una colección de útiles plantillas .gitignore con configuraciones de archivo .gitignore recomendadas organizadas según su caso de uso. Por ejemplo, esta es GitHub plantilla de gitignorepredeterminada para un Node.js proyecto .

Si decide crear un repositorio con el sitio web de GitHub, hay casillas disponibles para inicializar el repositorio con un archivo LÉAME, archivo .gitignore configurado para el tipo de proyecto específico y opciones para agregar una licencia si necesita una.

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 de Git. Obtenga más información sobre VS Code compatibilidad con Git dela aplicación .

Finales de línea de Git

Si está trabajando con la misma carpeta de repositorio entre Windows, WSL o un contenedor, asegúrese de configurar finales de línea coherentes.

Dado Windows y Linux usan distintos finales de línea predeterminados, Git puede notificar un gran número de archivos modificados que no tienen diferencias aparte de sus finales de línea. Para evitar que esto suceda, puede deshabilitar la conversión de final de línea mediante un archivo o .gitattributes globalmente en el Windows línea. Consulte este documento VS Code sobre la resolución de problemas de finalización de línea de Git.

Recursos adicionales