Control de Versiones

GIT, comandos básicos

  1. Inicializar un repositorio
  2. Revisar el estado actual de trabajo
  3. Agregar archivos al stage
  4. Comodines para git add
  5. Hacer un commit
  6. ¿Qué poner en el mensaje del commit?
  7. Add y Commit juntos
  8. Eliminar archivos
  9. Mover archivos
  10. Cambios entre versiones
  1. Diferencias entre dos commits
  2. Historial (log)
  3. Obtener Historial (log) por autor
  4. Historial entre fechas
  5. Quitar del stage
  6. Cancelar cambios
  7. Corrigiendo commits

Inicializar un repositorio

Un repositorio es una carpeta o conjunto de carpetas que contienen archivos. Podemos crear una carpeta y luego iniciar el repositorio dentro.

mkdir Ejemplo && cd Ejemplo
git init .
        
Con el comando git init se crea una carpeta oculta llamada .git y contiene toda la información necesaria para que podamos realizar las versiones (copias de seguridad) de nuestro proyecto.
En este punto Git no está llevando el control de ningún archivo.

Estatus

Identifica si existe un archivo modificado o no en nuestro repositorio. Esto es importante ya que hay que ubicar los archivos en el escenario antes de consolidarlos en la base de datos.
git status

Agregar archivos al escenario ("stage")


touch Archivo1.txt
echo 'Hola Mundo' >> Archivo1.txt
git add Archivo1.txt
        
Al ejecutar el comando git add Archivo1.txt estamos confirmando (agregando el archivo al escenario) que los cambios que realizamos sobre Archivo1.txt se quieren respaldar la próxima vez que consolidemos la información.

Comodines de git add

  • git add -A / git add .: Agrega todos
  • git add --ignore-removal: Agrega nuevos y modificados, sin los eliminados
  • git add -u: Agrega modificados y eliminados, sin los nuevos

Consolidar la información ("commitear")

Para consolidar el archivo previamente creado y puesto en escenario.
git commit -m "Commit Inicial"

La bandera -m indica que se debe consolidar el archivo con un mensaje informativo.

¿Qué poner en el mensaje del commit?

  • Resume los cambios en 72 caracteres o menos
  • Brinca una linea en blanco
  • Describe detalladamente los cambios, puedes usar bullets
  • Sigue una guía con base a tu proyecto

Add y Commit juntos

Para hacer las cosas mas rápidas, puedes hacer un add y un commit en un solo comando.
git commit -a -m 'Mensaje'

La bandera -a agrega los archivos modificados y eliminados, pero no los nuevos

También podrías ejecutar los dos comandos, pero en una misma linea.
git add . && git commit -m 'Mensaje'

Borrar archivo

Sirve para borrar un archivo pero en este caso sirve para agregar al escenario el archivo que vayamos a borrar

rm Archivo1.txt
git status
        

git rm Archivo1.txt
git status
        

Mover archivos o cambiar nombres

Confirma cualquier cambio de nombre o movimiento de un archivo

git mv Archivo2.txt Archivo2_cambio_de_nombre.txt
git status
        

Cambios entre versiones

Identifica todos los cambios de un archivo entre diferentes versiones.
git diff 

Diferencias entre dos commits

Los cambios en git tienen un número hexadecimal que los identifica.
Para revisar la diferencia entre dos commits se debe utilizar el comando git diff especificando los números hexadecimales de cada commit a comparar.
git diff [options]   [--] […​]

Historial (log)

Ver el historial de cambios de nuestro repositorio
git log
Es utilizado para ver el historial de cambios de nuestro repositorio. Esto incluye información sobre el autor de los cambios, el mensaje breve utilizado, la fecha en que se realizó y el número de serial (hash).

Historial por autor (log --author)

Ver el historial de cambios de nuestro repositorio por autor
git log --author
Es utilizado para ver el historial de cambios de nuestro repositorio. Muestra sólo aquellas confirmaciones cuyo autor coincide con la cadena especificada.
git log --author=alepam90

Log con estadísticas

git log --stat
Muestra los archivos y las estadisticas de cambios en cada uno de ellos.

Log con datos de cambios

git log -p
Muestra las líneas donde se realizaron los cambios

La bandera -1 se utiliza para observar únicamente lo último que fue commiteado.

Log abreviado

git log --pretty=format:"%h - %an - %ar - %s" --graph

Se pueden utilizar todas las banderas para cambiar las salidas

Historial entre fechas

Ver el historial de cambios de nuestro repositorio entre fechas
git log --since="2017-11-17"
Es utilizado para ver el historial de cambios de nuestro repositorio. Despues de la fecha.
git log --before="2017-11-17"
Es utilizado para ver el historial de cambios de nuestro repositorio. antes de la fecha.

Quitar archivos del stage

¿Qué sucede si agregamos al escenario un archivo que ya no queremos consolidarlo en ese instante? La lógica induce a que lo bajemos del escenario y eso es precisamente lo que hace git reset.
git reset HEAD file

Cancelar los cambios

¿Qué pasaría si ahora nos arrepentimos de esa última modificación que aún no commiteamos y la quisiéramos eliminar?
git checkout -- file

Corrigiendo commits

Frecuentemente cuando trabajamos y consolidamos los cambios olvidamos agregar al escenario algún archivo o simplemente lo modificamos tarde y lo queremos agregar a la información consolidada anteriormente.
git commit --amend --no-edit

Corrigiendo commits

Si deseamos que el mensaje del commit cambie, podemos hacer uno nuevo
git commit --amend -m "Nuevo mensaje para el cambio"
Ir al siguiente módulo