GITGit es un sistema de control de versiones distribuido cuyo objetivo es el de permitir mantener una gran cantidad de código a una gran cantidad de programadores eficientemente. Hay dos características de Git que creo que ayudan a entender esta definición simplista.

La primera gran diferencia de Git con respecto a otros sistemas de control de versiones es la forma que tiene de manejar los cambios en los ficheros. Mientras que otros scv’s almacenan los archivos originales, conservando una lista de los cambios realizados a dichos archivos en cada versión, Git guarda una “foto” (snapshot) del estado de cada archivo en un momento concreto. Si uno de los archivos no ha cambiado no crea una nueva copia del mismo, simplemente crea una referencia al archivo original.

La segunda es la eficiencia. Git se basa en que cada programador almacena una copia completa del repositorio en su máquina de forma local, incluido el historial de cambios. Esto implica que muchas de las operaciones realizadas sobre el código fuente no tienen lugar en la red, permitiendo que la velocidad de proceso dependa únicamente en los recursos locales.

Algunos comando en Git

  • Crea un directorio nuevo, ábrelo y ejecuta git init para crear un nuevo repositorio de git.
  • Hacer checkout a un repositorio, primero creamos una copia local del repositorio ejecutando
    git clone /path/to/repository Si utilizas un servidor remoto, ejecuta git clone username@host:/path/to/repository
  • Tu repositorio local esta compuesto por tres «árboles» administrados por git. El primero es tu Directorio de trabajo que contiene los archivos, el segundo es el Index que actúa como una zona intermedia, y el último es el HEAD que apunta al último commit realizado.
  • Puedes registrar cambios (añadirlos al Index) usando git add <filename> git add . Este es el primer paso en el flujo de trabajo básico. Para hacer commit a estos cambios usa git commit -m "Commit message" Ahora el archivo esta incluído en el HEAD, pero aún no en tu repositorio remoto.
  • Tus cambios están ahora en el HEAD de tu copia local. Para enviar estos cambios a tu repositorio remoto ejecuta git push origin master Reemplaza master por la rama a la que quieres enviar tus cambios. Si no has clonado un repositorio ya existente y quieres conectar tu repositorio local a un repositorio remoto, usa git remote add origin <server> Ahora podrás subir tus cambios al repositorio remoto seleccionado.