¿Qué es Git? Introducción y primeros pasos

Git logo

En este post voy a explicar un poco sobre que es Git y como comenzar a utilizarlo. Si haz escuchado de el pero no estas seguro que es o como funciona, este es el lugar correcto

¿Qué es Git?

Git es un Sistema de Control de Versiones (o VCS según sus siglas en ingles), el cual fue desarrollado originalmente en 2005 por Linus Torvalds (el creador de Linus) como una herramienta gratuita y de código abierto. No por nada es una de las herramientas más utilizadas actualmente.

¿Qué quiere decir control de versiones?

Es un tipo de software que permite a un equipo llevar el control de los cambios en el código fuente durante los ciclos de vida y distintos procesos del desarrollo. Este lleva registro de cada modificación realizada a los archivos, lo que permite la fácil comparación, recuperación de información o reparo de errores.

Control de versiones

Primeros pasos

Podemos descargar git desde el sitio oficial, el cual es Git SCM https://git-scm.com/

Después de ser instalado, podemos abrir una terminal (o CMD en Windows) y teclear lo siguiente:

git --version

Nos mostrara la versión de git instalada. Ahora creemos una carpeta, accedemos a ella (desde la terminal) e iniciamos un Repositorio git:

mkdir git-prueba
cd git-prueba
git init

Ahora comenzamos a crear archivos dentro de esta carpeta, basta con un simple archivo .txt para el ejemplo.

Publicar los cambios (commit)

A diferencia de otros sistemas, git cuenta con algo llamado “área de preparación” (staging area). Es una zona intermedia donde los cambios pueden ser preparados y revisados antes de ser publicados. Esto permite el poder preparar ciertos archivos para ser publicados, sin la necesidad de enviar la totalidad de los documentos dentro del repositorio.

Para añadir uno o varios archivos al área de preparación, podemos usar el siguiente comando:

// todos los archivos
git add *

// archivo especifico
git add mi-archivo.txt

Si deseamos publicar los cambios (commit) y añadir un mensaje para identificar la versión o el proposito, podemos usar:

git commit -m "Mi primer commit"

// Si deseamos añadir cambios y publicarlos al mismo tiempo
git commit -a -m "Mi primer commit"

Estado actual y registro

Una vez que se realicen modificaciones a los archivos dentro del folder o se vayan añadiendo nuevos, es fácil olvidar que archivos ya han sido guardados en el repositorio y en que momento se realizo esta acción. Podemos hacer uso del comando status para informarnos de la situación actual.

git status

Este comando nos mostrará que archivos han sido modificados o añadidos que aún no forman parte del área de preparación (staging area) y ser considerados para la siguiente publicación (commit). Podemos guardar los nuevos cambios repitiendo los pasos anteriores con los comandos addcommit.

¿Y si deseamos ver un registro de todas las actualizaciones que se han realizado? Para eso existe el comando log el cual nos muestra una lista de todas las publicaciones (commits) que se han realizado en el repositorio, así como el autor y fecha de cada una.

git log

Repositorios remotos

Hasta ahora todo ha sido trabajado de forma local, es decir, en nuestro repositorio local dentro de nuestra computadora. Cada desarrollador contara con una versión local del repositorio, pero, ¿cómo comparten y se enteran de los cambios?. Repositorios remotos.

Existen distintas opciones, cada una con sus ventajas y desventajas a considerar según las necesidades de cada proyecto o equipo. Algunos de los más populares son:

Los pasos para crear un repositorio remoto en cada uno pueden variar un poco, pero la manera de comunicarse con ellos es siempre la misma. El primer paso, es añadir un repositorio remoto en nuestro proyecto local.

git remote add origin https://github.com/rosolutions/git-prueba.git

El comando es remote al cual le especificamos que estamos añadiendo uno mediante add y posteriormente recibe dos argumentos: Un nombre y la URL del repositorio remoto (esta es proporcionada por el Controlador de versiones remoto que hayamos elegido).

De remoto a repositorio local

El comando fetch nos permite descargar archivos o cambios desde el servidor a nuestro repositorio local. Este descarga los cambios pero no modifica tus archivos locales, permitiendo así más control y asegurarte de que no se realicen modificaciones no deseadas.

El comando pull es similar al anterior, también nos permite descargar archivos o cambios desde el servidor a nuestro repositorio local, con la importante diferencia que este si actualiza nuestros archivos locales (Este comando es en realidad una versión corta a la ejecución de dos comandos: fetch y merge).

git fetch 

git pull 

De repositorio local a remoto

Si deseamos enviar nuestros cambios o publicaciones (commits) hacia el repositorio remoto, haremos uso del comando push. Este envía únicamente aquella información que este “lista” para ser publicada al repositorio remoto, es decir, aquella que ya fue publicada (commited) dentro del repositorio local.

git push 

Conclusión

Los sistemas de control de versiones son muy útiles tanto para facilitar la colaboración y el trabajo en equipo, como para prevenir errores. Es una herramienta muy versátil y el uso que se le de dependerá de cada equipo. Este fue un pequeño vistazo a lo que ofrece git, espero les sea de utilidad y si no lo están utilizando aún, recomiendo que se animen a probarlo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *