Muy buenas lector. Este es el segundo post de la serie sobre Git, el famoso sistema de control de versiones desarrollado por Linus Torvalds en 2007, y que a día de hoy podemos decir que se ha convertido en el estándar en el estándar de facto en su ambito.
Si la primer post fué eminentemente introductorio, en este segundo capitulo de esta serie quiero empezar a entrar ya en materia, y empezaré por explicarte como instalar Git en tu equipo, y como realizar los primeros ajsutes de puesta a punto. Personalmente me he iniciado hace poco a Git, por lo que en cierto modo estaremos haciendo el viaje juntos.
Tabla de contenidos:
¿Como Instalar Git?
Git como tal (no hablo de GitHub ni cualquier otra plataforma), es un software que debes localmente en tu equipo, y que se utiliza directamente desde la línea de comandos. Luego, como verás, puedes instalar alguno de los muchos clientes gráficos que existen, si no te resulta tan comodo moverte desde la terminal (aunque personalmente, si dominas los cuatro comandos básicos, considero que no es necesario).
Instalación del Paquete Base
Si trabajas con GNU/Linux, lo bueno es que Git suele venir por defecto en los repositorios oficiales de la mayoría de distribuciones, por lo que podrás instalarlo directamente utilizando el gestor de paquetes de tu distribución.
Para la instalación, puedes optar por instalar unicamente el paquete git, que contiene los componentes básicos y las dependencias mínimas para poder utilizar Git, o el paquete git-all, que contiene muchas funcionalidades y dependencias adicionales, incluyendo una sencilla interfaz gráfica, o extensiones para integrar Git con los principales entornos de desarrollo o IDEs.
Para el caso que nos ocupa, de momento voy a instalar unicamente el paquete git. Si trabajas con Debian, Ubuntu, o cualquier otra distribución derivado, puedes instalarlo con el siguiente comando:
sudo apt install git
En el caso de Fedora o cualquier derivado, por ejemplo, tendrías que utilizar DNF.
sudo dnf install git
Si utilizas otra distribución GNU/Linux, o eres usuario de macOS o Windows, a continuación te dejo el enlace a Git SCM, con las instrucciones de descarga para cada una de las diferentes plataformas.
Clientes Gráficos
Una vez instalado Git, ya tendrás acceso a todas las funcionalidades estándar para utilizar Git desde la consola. Personalmente, esta es la forma con que me he acostumbrado a trabajar con Git, y la que te recomiendo para empezar.
Si aún con todo lo dicho, el uso de Git desde la consola no te acaba de convencer y te manejas mejor con las interfaces gráficas, existen un gran número de clientes gráficos que puedes utilizar, y con interfaces gráficas muy completas y cuidadas.
De entrada, si has optado por instalar el paquete git-all, ya viene incluida una sencilla interfaz gráfica denominada git-gui, y que puedes abrir por consola tecleando el siguiente comando:
git gui
Con esto se abrirá una pequeña ventana, con las tres opciones básicas para crear un nuevo repositorio, clonar un repositorio remoto en tu directorio local, o abrir un repositorio ya existente. Personalmente la he probado y no me ha terminado de convencer, pero no está de más que la pruebes por ti mismo.
A continuación te copio algunas de las opciones gratuitas que me han parecido más interesantes a simple vista, aunque no te puedo hablar a nivel de experiencia personal, porque no las he probado.
- Gitg. Es el cliente gráfico de Git del proyecto GNOME. Personalmente, si utilizas GNU/Linux y GNOME como entorno de escritorio, creo que es la primera opción que probaría. Ofrece todo lo que puedes necesitar en un cliente Git, incluyendo una visión del histórico de commits según las diferentes ramas, un explorador de los cambios en un fichero entre diferentes commits, etc.
- Git Extensions es otra de las opciones que me han parecido más interesantes. Al igual que Gitg, dispone de las funcionalidades tipicas que se le pueden pedir a un cliente de Git. Es una aplicación de software libre y multiplataforma, por lo que la puedes instalar de forma gratuita tanto con GNU/Linux, como en macOS o Windows.
- GitKraken es, probablemente, la aplicación más completa y sofisticada que tienes a día de hoy a la hora de trabajar con Git de forma gráfica. Dispone de una interfaz gráfica sumamente cuidada, y ofrece una visión del histórico de commits y de las diferentes ramas enormente intuitiva. Permite trabajar tanto con repositorios locales como con repositorios remotos, y se puede integrar sin problemas con las plataformas cloud de Git más comúnes, como GitHub, GitLab o Bitbucket. La he dejado para el final porque, a pesar de ser la más completa, es una aplicación propietaria y no es gratuita (aunque la puedes probar sin pasar por caja).
Configuración Inicial
Una vez instalado Git, ya podrías crear tu repositorio en un directorio local y empezar a trabajar, cosa que te enseñaré en el próximo post de esta serie. Antes de esto, sin embargo, es interesante que conozcas algunos ajustos de configuración generales para personalizar tu entorno de Git.
Git permite que puedas ajustar diferentes parámetros a través de variables de configuración. La herramienta que permite que puedas establecer y consultar cada una de estas variables se denomina Git Config, y funciona a diferentes niveles, en función de su ámbito de aplicación.
Por regla general, los ámbitos de aplicación mas tipicos son:
- System. Controla los parámetros para todos los usuarios y repositorios de una misma instalación de Git. Es el ámbito de aplicación más amplio, ya que los parámetros establecidos afectan a todos los usuarios locales de un sistema.
- Global. Controla los parámetros para el usuario que tiene iniciada la sesión en el equipo, y para todos los repositorios que cree dentro de su Home. El ámbito de aplicacion es más acotado que en el caso anterior.
- Local. Afecta unicamente a nivel de cada repositorio de forma individual.
Personalmente, en este punto unicamente me voy a centrar en los parámetros a nivel global, y que van a aplicar a todos los repositorios que vayas creando desde tu cuenta local en el equipo, pero sin afectar a otras posibles cuentas que puedas tener en el mismo equipo.
Establecer Nombre de Usuario y Correo
De entrada, uno de los parámetros que te puede interesar establecer en la congifuración global es un nombre de usuario y un email. Estos son los que van a aparecer en cada uno de los commits que vayas realizando.
Para establecer el nombre de usuario a nivel global, tienes que ejecutar el siguiente comando en la terminal, sustituyendo <nombre-usuario> por el nombre de tu elección. Como ves, el flag --global
es mediante el que indicas que este parámetro quieres establecerlo en el ámbito global.
git config --global user.name <nombre-usuario>
Aunque no es obligatorio, si quieres establecer una dirección de correo también puedes hacerlo. En este caso, debes aplicar el siguiente comando, sustituyendo <email> por la dirección de correo que quieres conste ahí.
git config --global user.email <email>
En cualquier momento, puedes chequear cual es el nombre o el correo que tienes establecidos en el ámbito global, utilizando, por ejemplo en el caso del nombre, el comando que te copio a continuación.
git config --global user.name
Aunque no tiene porque ser así, es una buena práctica que, si tienes una cuenta en GitHub o alguna otra plataforma parecida, el nombre de usuario y el correo que indiques aquí coincidan con los que tengas en la plataforma (almenos si planeas conectar los repositorios locales que vayas creando con GitHub).
Establecer Editor de Código por Defecto
En algunas situaciones concretas, como a la hora de publicar un commit, Git te abrirá una ventana con un editor de código para que añadas, por ejemplo, una descripción para el commit. En estos caos, Git utiliza el editor por defecto que tiene establecido en las variables VISUAL o EDITOR del fichero gitconfig, o utiliza Vi en caso de no haber ninguno.
Esta opción, sin embargo, es algo que tu puedes cambiar en cualquier momento a nivel global, utilizando el comando que te copio a continuación, sustituyendo <editor> por el nombre del editor de tu elección.
git config --global core.editor <editor>
A continuación te copio los valores que debes utilizar, para algunos de los editores de código más famosos:
Vim | "vim --nofork" |
Nano | "nano -w" |
Emacs | emacs |
Atom | "atom --wait" |
VS Code | "core --wait" |
En el siguiente enlace tienes la tabla completa con todas las opciones que puedes utilizar aquí:
Cambiar el Nombre de la Rama Principal de «Master» a «Main»
Como te explicaré mas en detalle en el próximo post, Git puede trabajar con distintas ramas, pero siempre hay una rama que es la principal, que es la que se crea primero. Por convenio, esta rama se denomina «master», aunque es algo que puedes cambiar.
Esto es algo que, de entrada, no te recomiendo cambiar a nivel global (otra cosa es que lo hagas a nivel de un repositorio concreto) salvo que trabajes con GitHub.Y digo esto porqué, en 2020, GitHub decició renombrar a su rama principal de «master» a «main».
Este cambio en el critério de GitHub es algo que no afecta en absoluto a Git (de hecho, en GitHub también puedes establecer que el nombre de la rama principal siga siendo «master»). Aun así, si quieres que Git utilice «main» como nombre por defecto de la rama principal, puedes establecerlo a nivel global con este comando:
git config --global init.defaultBranch main
Esto, al ser aplicado en el ámbito global, afectara a todos los repositorio que crees desde este momento con tu cuenta de usuario local en este equipo. Aún así, no afectará al nombre de la rama principal de los repositorios que ya tengas creados.
Continuación
Antes de finalizar, te quiero recordar que este post es el segundo de una serie completa de varios posts sobre Git. Aquí te dejo la lista completa con todos los posts de esta série, y que ire ampliando conforme los vaya teniendo publicados.
- Git (I). Introducción
- Git (II). Instalación y configuración inicial
- Git (III). Guía completa con lo básico para empezar
- Git (IV). Guía avanzada
¡Un saludo y hasta la próxima!