Descarga de Git

Mario González - Blog sobre desarrollo web

Aprender Git (II): Instalando y configurando Git

| ,

En este segundo artículo de la serie Aprender Git veremos qué primeros pasos tenemos que dar con este sistema de control de versiones. Haremos un recorrido por las opciones de instalación más importantes y aprenderemos cómo configurarlo para poder empezar a trabajar con él.

En el anterior artículo Aprender Git (I): Empezando con Git hicimos una presentación de este control de versiones y presentamos una lista de FAQ con las primeras dudas que suelen surgir al acercarse a Git.

Instalación de Git

Instalación de Git en Linux

La manera más fácil de instalar Git en un sistema Linux es a través del gestor de paquetes correspondiente. Si tu distribución es Debian o Ubuntu, basta con lanzar el siguiente comando: 


sudo apt install git

Si tienes otra distribución diferente, aquí puedes consultar los comandos que necesitarás.

Instalación de Git en Mac

Desde la sección de descargas de la web de Git podemos elegir un instalador para Mac.

Instalación de Git en Windows

Para instalar Git en Windows sólo tenemos que ir a la sección de descargas de su web y elegir la descarga de Windows. Esto nos descargará un ejecutable con un asistente de instalación que tiene varios pasos. Aquí no los veremos todos, pero sí vamos a repasar algunos importantes.

En la pantalla “Select Components” (fig. 1) hay una opción muy cómoda que viene marcada por defecto, pero que no está de más comprobar: “Git Bash Here”. Git Bash es la consola de comandos que se instala con Git y la que recomendamos desde este blog, ya que está optimizada para su uso con este VCS. Al marcar esta opción estamos añadiendo un elemento al menú contextual de Windows, el que aparece al pulsar botón derecho sobre una carpeta o archivo, que nos permitirá abrir la consola directamente en la ruta deseada.

Figura 1. Comprobar que está marcada la opción “Git Bash Here”

Más adelante, en la pantalla “Choosing the default editor used by Git” (fig. 2) se nos pregunta cuál será el editor de texto por defecto. Git nos lo abrirá, por ejemplo, cada vez que tengamos que escribir el mensaje de un commit. La opción que viene marcada es Vim, y si os manejáis bien con él podéis dejarla así. Pero si no estáis habituados a usarlo seguramente os haréis un poco de lío con él, así que lo más recomendable es elegir Notepad++, que es un editor muy ligero y que nos basta para lo que lo vamos a usar. Por supuesto, aquí cada uno puede elegir el editor que le resulte más cómodo y no es obligatorio que sea el Notepad++. Recordad, eso sí, que el editor lo tenemos que instalar por nuestra cuenta, Git no nos lo instalará.

Figura 2. Seleccionando el editor de texto que nos abrirá Git por defecto

En la siguiente pantalla, “Adjusting your PATH environment” (fig. 3) se nos pregunta cómo queremos usar Git desde la línea de comandos. La opción recomendable es la que viene marcada por defecto, “Use Git from the Windows Command Prompt”. La primera es muy restrictiva y no nos permitirá usar consolas que no sean Git Bash, y la tercera interferirá con algunos comandos propios de Windows.

Figura 3. Cómo queremos usar Git desde la línea de comandos

Algunos pasos más adelante llegamos a una pantalla importante, “Configuring the line ending conversions” (fig. 4). Una de las fuentes de conflictos más habituales al empezar con Git es el hecho de que los códigos para los finales de línea son diferentes en máquinas Windows y en máquinas Unix (Mac y Linux). Esto es interpretado por Git como una diferencia en el archivo, que puede ser idéntico a nuestros ojos pero internamente no lo es. Para asegurarnos de que no tenemos este tipo de problemas en proyectos en los que se puede contribuir tanto desde Windows como desde Mac o Linux, es importante que elijamos la opción “Checkout Windows-style, commit Unix-style line endings”. Esta opción configurará Git para que en nuestro sistema utilice los códigos de fin de línea de Windows, pero al guardar el código en un commit éste se guarde con los saltos de línea de Unix.

Instalación Git 4
Figura 4. Configuración de la conversión de saltos de línea

En la siguiente pantalla, “Configuring the terminal emulator to use with Git Bash” (fig. 5), se nos pregunta qué emulador de terminal queremos usar cuando abramos Git Bash. Marcaremos la opción por defecto, “MinTTY”, que nos implementa muchos comandos de Linux y nos hará más cómodo el trabajo con Git.

Instalación Git 5
Figura 5. Qué emulador de terminal queremos usar para Git Bash

Por último, en la pantalla “Configuring extra options” (fig. 6) nos aseguraremos de que esté marcada la opción “Enable Git Credential Manager”. Esta opción nos instalará el Git Credential Manager for Windows, un programa que nos facilitará la vida a la hora de validar nuestro usuario en servidores Git como GitHub o Bitbucket.

Instalación Git 6
Figura 6. Activando Git Credential Manager for Windows

Configuración de Git

La configuración de Git se almacena en forma de variables, de modo que para configurarlo estableceremos las variables que necesitemos y les daremos un valor. Por ejemplo, para configurar el nombre que queremos que aparezca como autor de nuestros commits, estableceremos la variable user.name con un valor igual a nuestro nombre:


git config user.name "Mario González"

Podemos establecer variables de configuración en tres ámbitos:

  • Sistema: se aplicará a todo el sistema operativo.
  • Global: se aplicará a nuestro usuario dentro del sistema operativo.
  • Local: se aplicará a un repositorio local concreto.

Para referirnos a un ámbito o a otro, cuando lancemos el comando git config le pasaremos uno de los modificadores --system, —global o --local, si bien este último modificador lo podemos omitir en la mayoría de ocasiones, porque es la opción por defecto.

Para establecer una variable de configuración, escribiremos git config seguido del ámbito (opcional en caso de ser local), luego el nombre de la variable y luego el valor. Si el valor contiene espacios deberemos escribirlo entre comillas:


# Configuración global de conversión de fin de línea
git config --global core.autocrlf true

Si lo que queremos es pedir el valor de una variable existente, simplemente lanzamos git config seguido del ámbito y del nombre de la variable:


git config --global core.autocrlf
# La consola nos devolverá true

Podemos consultar en todo momento qué variables hay configuradas mediante el modificador --list:


# Listar las variables de configuración de todos los ámbitos
git config --list

# Listar las variables de configuración de sistema
git config --list --system

# Listar las variables de configuración de usuario
git config --list --global

# Listar las variables de configuración por repositorio local
git config --list --local

Todas estas configuraciones se graban en archivos de texto, localizados en diferentes ubicaciones según el ámbito. Si queremos saber dónde está cada archivo, sólo tenemos que añadir el modificador --show-origin cuando pidamos el listado de las variables de configuración:


# Listar las variables de configuración de usuario
# mostrando la ubicación del archivo de configuración
git config --list --global --show-origin

Siempre podemos editar directamente dichos archivos de configuración y el efecto será el mismo que si hubiéramos lanzado el comando git config con sus variantes.

Configuración inicial de Git

Para empezar a usar Git, hay un par de variables de configuración que estamos obligados a establecer: user.name y user.email. Esto se debe a que los commits siempre almacenan la información de su autor, concretamente su nombre y su dirección de email, por lo que Git no nos permitirá hacer ningún commit sin antes haber configurado estos datos.


git config --global user.name "Mario González"
git config --global user.email mario@mariogl.com

Si además trabajamos detrás de un proxy, necesitaremos configurarlo para que Git pueda conectarse a repositorios remotos. Para esto estableceremos estas dos variables (las dos, independientemente de si el proxy está con protocolo http o https):


git config --global http.proxy http://username:password@host:port
git config --global https.proxy http://username:password@host:port

A partir de aquí, son muchas las opciones de configuración que podremos ir estableciendo. Por ejemplo, si queremos modificar la conversión de los finales de línea, podemos modificar la variable core.autocrlf; si queremos configurar una herramienta externa para el comando mergetool, estableceremos la variable merge.tool; y si queremos crear alias para comandos que usamos habitualmente, lo haremos mediante una variable llamada alias.el-alias-que-queramos:


# Deja a Git que decida qué hacer con los finales de línea
git config --global core.autocrlf auto

# Establece Kdiff3 como la herramienta externa para examinar conflictos
git config --global merge.tool kdiff3

# Crea un alias llamado "mi-log" que equivale al comando git log --oneline
git config --global alias.mi-log "log --oneline"

En la web de Git hay una sección con una extensa lista de variables que podemos configurar.

Una vez realizada la instalación y configuración inicial podéis empezar a jugar con Git y, sobre todo, seguir leyendo el resto de entradas de la serie Aprender Git para ir profundizando en el uso de este sistema de control de versiones. Aquí os dejo el índice de artículos:

¿Qué opinas?

Tu dirección de correo electrónico no será publicada. * Campos obligatorios