Apuntes git

Commit temprano, commit a menudo, y reza fuerte.

¿Git para qué?

Git es un sistema distribuido de control de versiones (cambios), diseñado para manejar, rápida y eficientemente, proyectos grandes y pequeños.

La función de un sistema de control de versiones es la de recordar todos los cambios que vas realizando en un archivo o conjunto de archivos, de forma que puedes recuperar rápidamente la versión de un momento anterior si lo ves necesario.

También te permite trabajar sobre una copia de tu proyecto, modificarlo o incorporar nuevas características, y fusionar los cambios si el resultado es satisfactorio. Un símil frecuente es el de un árbol: el proyecto está en una rama, el desarrollo se realiza en ramas independientes, y si el resultado es el deseado, los cambios se integran en la rama principal. Mientras se hacen las modificaciones, la rama principal permanece inalterada. Y si hay problemas, puedes recuperar fácilmente cualquier estado anterior.

Git está pensado para evitar conflictos en proyectos con muchos autores, que pueden estar editando simultáneamente el mismo archivo. Pero también es muy útil para desarrolladores individuales. Al ser un sistema distribuido (cada desarrollador tiene el historial completo del repositorio en su máquina), no depende de un control central.

Git es probablemente el sistema de control de versiones más difundido. Puedes utilizarlo de forma local sin necesidad de conexión, aunque una de sus ventajas es la posibilidad de mantener el historial de cambios en línea, usando servicios como GitHub o Bitbucket. Incluso si trabajas solo, esto te permite continuar desde cualquier ordenador con Git instalado, sin tener que llevar tus archivos encima.

Aunque es una herramienta pensada para programación, cada vez más personas la usan con otros fines: escribir novelas, mantener un diario, gestionar documentación, etc.

¿Cómo funciona Git?

  1. Puedes crear un repositorio con una herramienta de alojamiento como GitHub o Bitbucket.
  2. Clonar el repositorio a tu máquina local.
  3. Añadir un archivo a tu repositorio local y hacer commit (guardar los cambios).
  4. Push: enviar tus cambios a la rama principal del repositorio remoto.
  5. Hacer un cambio desde la herramienta remota y realizar un commit.
  6. Pull: traer esos cambios a tu repositorio local.
  7. Crear una rama (una versión alternativa), hacer un cambio, y hacer commit.
  8. Abrir un pull request (proponer cambios para la rama principal).
  9. Merge: integrar la rama modificada en la rama principal.

Las opciones principales la s veremos con detalle mas adelante

Instalación

Casi todas las distribuciones Linux incluyen Git por defecto, o puedes instalarlo fácilmente con el gestor de paquetes:

# Comprobar si está instalado
git --version
git version 2.16.2

Si no lo está:

  • Debian / Ubuntu: apt-get install git
  • Fedora: yum install git (hasta Fedora 21) / dnf install git (desde Fedora 22)
  • Gentoo: emerge --ask --verbose dev-vcs/git
  • Arch Linux: pacman -S git

En git-scm.com encontrarás la versión adecuada para tu SO.

TOP