En el articulo anterior vimos que son los sistemas de control de versiones, como funcionan y analizamos particularmente el caso de git.

En esta ocasión, vamos a dar nuestros primeros pasos en git. Veremos como inicializar un repositorio de forma local, como asociarlo a uno remoto y aprenderemos los comandos mas utilizados para poder versionar nuestros proyectos.

Comenzando

Antes que nada, vamos a instalar git. Si usas Linux podes ejecutar el siguiente comando en la terminal

$ sudo apt-get install git-all

Para Windows, podes descargarlo desde acá y utilizar la consola git bash o git cmd

git init

Una vez instalado, vamos a pararnos sobre nuestro proyecto desde la consola y ejecutaremos el comando git init. De esta manera, habremos inicializado el repositorio. Veremos que se crea la carpeta oculta .git, la cual contiene toda la información sobre las versiones del proyecto.

$ git init

git config

Ahora podemos agregar algunas configuraciones. Por ejemplo, indicarle a git quien va a estar trabajando en el proyecto:

$ git config --global user.name "John Doe"
$ git config --global user.email Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Además, podemos agregar el archivo .gitignore. Este le indicará a git que archivos y carpetas debe ignorar a la hora de registrar cambios.

Guardando nuevas versiones

git add

Una vez que estemos conformes con los cambios que hicimos en el proyecto, llega el momento de guardarlos. En primer lugar, debemos indicarle a git cuales son los archivos cuyos cambios queremos registrar. Para esto, agregamos estos archivos al área de preparación o staging mediante el comando git add <nombre de archivo>. Podemos indicarle archivos específicos o bien agregar todos para ahorrar tiempo, y esto lo hacemos agregando un punto luego del add.

$ git add .

git commit

Ahora si, estamos listos para confirmar nuestros cambios. Esto lo hacemos mediante el comando commit, el cual registra una "copia" de nuestro proyecto en el estado en el que se encuentra, permitiéndonos volver a este punto cuando deseemos.

Cada commit cuenta con un mensaje que describe los cambios y novedades que se agregan en el. Para ahorrarnos trabajo, git nos ofrece la posibilidad de agregar un mensaje en la misma línea en la que escribimos el comando, utilizando el parámetro -m seguido del mensaje.

$ git add .
$ git commit -m "Nuevos cambios"

¡Perfecto! Ya tenemos registrados nuestros cambios.

Como recomendación, los commits deben ser atómicos. Es decir, deben ser pequeños y contener la menor cantidad de modificaciones posible, para que a la hora de revertir cambios específicos se tenga un impacto menor en el resto del proyecto, además de ser mas fácil encontrar un cambio específico que estemos buscando.

Usando repositorios remotos

Cuando queremos trabajar en colaboración con otras personas, nos vemos en la necesidad de utilizar repositorios remotos. La idea es compartir el repositorio para que los demás puedan descargarlo, trabajar en el y luego actualizarlo con los cambios realizados. Para esto nos sirven plataformas como GitHub, GitLab y BitBucket.

- git remote

Una vez creado el repositorio remoto en alguna de estas plataformas, podemos asociarlo con nuestro repo local. Para esto, desde la consola vamos a ejecutar el comando git remote add <nombre> <url>. Por convención, en el nombre solemos poner origin.

$ git remote add origin https://gitlab.com/ejemplo/mi-repo

git clone

Otra opción es clonar un repositorio, es decir, descargar una copia de un repositorio remoto ya existente. Esto lo hacemos con el comando git clone <url>.

$ git clone https://gitlab.com/ejemplo/mi-repo

git push

Una vez que estemos conformes con nuestro trabajo, es hora de subir los commits que hayamos realizado con el comando git push <nombre> <rama>

$ git push origin master

git pull

Cuando algún colaborador realice cambios en el proyecto y los suba al repo remoto, podemos descargarlos con el comando git pull.

$ git pull

Otros comandos útiles

git status

Si queremos conocer el estado de nuestro directorio de trabajo, debemos usar el comando git status. Este nos mostrará que cambios están en el área de preparación, cuales no lo están, si la rama en la que nos encontramos está actualizada con relación al repositorio remoto, o si se han agregado o quitado archivos, entre otras cosas.

$ git status

git log 

Para ver el historial de commits, podemos usar el comando git log, el cual nos mostrará además quien hizo cada commit y cuando.

$ git log

 git diff

Si queremos ver las diferencias entre los archivos que modificamos y que aun no están en el área de preparación, utilizaremos el comando git diff. Si además le agregamos el parámetro --cached nos mostrara las diferencias entre los archivos que ya se agregaron al área de preparación.

$ git diff

Próximos pasos

Ahora si, conociendo estos comandos podemos comenzar a trabajar cómodamente en proyectos que utilicen git y aprovechar muchos de sus beneficios.

En el próximo articulo estaremos viendo que son las ramas, como trabajar con ellas y distintos flujos de trabajo que podemos utilizar en nuestros proyectos. 

Mandanos tus sugerencias

Ayudanos con ideas para los artículos de este blog a contacto@somospnt.com

¡Seguínos en nuestras redes sociales para enterarte de los últimos posts!