Git en PowerShell

Actualmente creo que nadie que trabaja en áreas de tecnologías de la información desconoce lo que es Git. O al menos, creo que nadie debería continuar por la vida sin tener ni la más mínima idea de lo beneficioso que es el mundo del control de versiones. Git es un sistema de control de versiones (Version Control System o VCS en inglés) distribuidas y open source. Por más información, adjunto el enlace a la web oficial aquí.

En este post, voy a tomar como requisito puntualmente lo siguiente:

  • Git for Windows
  • Posh-Git

Git for Windows

Para descargar Git for Windows es necesario acceder al siguiente enlace: Git for Windows y seguir el asistente de instalación.

Luego de la instalación, vamos a ejecutar lo siguiente:

git config --global user.name 'nombre'
git config --global user.email 'email address'

Con lo anterior definimos el usuario y mail que vamos a utilizar en nuestros repositorios. En el caso de GitHub es necesario para poder hacer commits y que aparezca en la gráfica de contribuciones de nuestro perfil.

Posh-Git

En el caso de Posh-Git, debemos considerar que es un módulo de PowerShell, por lo que podemos descargarlo e instalarlo desde la gallery. Para ello vamos a ejecutar:

Install-Module -Name posh-git -Force

PowerShell profile

Ya tenemos todos los requisitos para utilizar Git desde PowerShell, aunque resta modificar el perfil nuestro de PowerShell. ¿Por qué? Porque si bien el módulo se encuentra instalado, cada vez que abrimos una consola de PowerShell vamos a tener que importarlo para poder hacer uso del mismo.

Antes de ver que es lo que vamos a agregar en el perfil, es necesario saber si ya tenemos el archivo creado o no. Para ello ejecutamos:

Test-Path $profile

Si la salida en consola es “False”, entonces debemos crear el archivo, en vez de editarlo.

El archivo profile es el siguiente: C:\Users<userName>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

En caso de contar con visual studio code instalado en el equipo, ejecutamos lo siguiente:

code profile

Así podemos editar el archivo existente o comenzar a trabajar sobre él en caso que no exista aún. Ahora sí, debemos agregar lo siguiente para poder importar el módulo en cada nueva ejecución de la consola:

cd $home
Import-Module -Name posh-git -ErrorAction SilentlyContinue

Y cada vez que nos ubiquemos en una carpeta que sea un repositorio de git, el prompt va a cambiar de la siguiente manera:

Posh-Git

Indicando que branch estamos utilizando y los cambios que aún no se han sincronizado.

Happy scripting!

Comments