Comprendiendo y Utilizando los Comandos status y log
Git Log
El comando git log
es una herramienta esencial en Git que permite a los desarrolladores revisar la historia de commits en un repositorio. Este comando muestra quién realizó cada commit, cuándo se realizó y qué cambios incluye.
Aquí te dejo algunos flags útiles para git log
:
--pretty
: Este flag permite personalizar el formato de la salida. Por ejemplo, puedes usargit log --pretty=format:"%h - %an, %ar : %s"
para mostrar el hash del commit, el nombre del autor, cuándo se realizó el commit y el mensaje del commit.--graph
: Este flag muestra una representación gráfica ASCII de la historia del proyecto. Por ejemplo, puedes usargit log --graph
para ver la historia del proyecto de una manera más visual.--all
: Este flag muestra todos los commits de todas las ramas. Por ejemplo, puedes usargit log --all
para ver todos los commits, no solo los de la rama actual.--since
,--until
: Estos flags permiten filtrar los commits por fecha. Por ejemplo, puedes usargit log --since="2 weeks ago"
para ver solo los commits de las últimas dos semanas.
Git Status
El comando git status
es otro comando crucial en Git. Proporciona información sobre el estado actual del repositorio, como qué archivos han cambiado desde el último commit y qué cambios están en staging para el próximo commit.
Aquí te dejo algunos flags útiles para git status
:
-s
o--short
: Estos flags muestran la salida degit status
de una manera más corta y simplificada.-v
o--verbose
: Estos flags muestran las diferencias introducidas en el índice (staging area).-u
o--untracked-files
: Estos flags muestran también los archivos no rastreados. Por ejemplo, puedes usargit status -u
para ver todos los archivos no rastreados.
Caso práctico
Imagina que estás trabajando en un proyecto de desarrollo de software con un equipo. Has estado trabajando en una nueva característica en una rama separada llamada feature-branch
.
1. Después de un día de trabajo, quieres ver qué archivos has modificado. Entonces, ejecutas el comando git status
. Este comando te muestra que tienes dos archivos modificados que aún no han sido confirmados (commit).
$ git status
On branch feature-branch
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)
modified: file1.py
modified: file2.py
2. Revisas los cambios en file1.py
y file2.py
y decides que estás listo para confirmarlos. Antes de hacerlo, vuelves a ejecutar git status
para asegurarte de que no hay cambios no deseados.
3. Una vez que estás seguro de tus cambios, haces un commit:
$ git add file1.py file2.py
$ git commit -m "Add new feature in file1 and file2"
4. Unas semanas después, quieres revisar tu historial de commits para ver la evolución de tu proyecto. Entonces, ejecutas git log
:
$ git log
commit 4a8e8f7dcb8f75a48e58b33b4f9a5a2a6a8a0a3e (HEAD -> feature-branch)
Author: Your Name
Date: Mon Apr 15 13:50:36 2024 -0700
Add new feature in file1 and file2
commit 4b8e5c7dcba5f54a48e58b33b4f9a5a2a6a8a0a3e
Author: Teammate Name
Date: Fri Apr 12 10:20:36 2024 -0700
Fix bug in file3.py
5. Si quieres buscar un commit específico donde se inicializó una variable particular, puedes usar git log
con la opción --grep
:
$ git log --grep="Initialize variable"
Recomendaciones de uso
Uso frecuente de
git status
: Este comando te permite ver el estado actual de tu repositorio. Te recomiendo que lo uses con frecuencia para saber qué archivos han sido modificados y cuáles están listos para ser confirmados (commit).Revisar
git status
antes degit commit
: Antes de hacer un commit, siempre es una buena práctica revisargit status
. Esto te ayudará a evitar confirmar cambios no deseados.Uso de
git log
para revisar el historial de commits:git log
es una herramienta poderosa que te permite ver el historial de commits. Es útil para entender la evolución del proyecto.Personalizar la salida de
git log
: Puedes usar diferentes opciones congit log
para personalizar la salida. Por ejemplo,git log --oneline
muestra cada commit en una sola línea, lo cual es útil para tener una visión general rápida del historial.Buscar en el historial con
git log
: Si estás buscando un commit específico, puedes usargit log
junto con términos de búsqueda. Por ejemplo,git log --grep="init"
buscará en el historial de commits cualquier commit que contenga la palabra “init” en su mensaje.
Estos comandos son fundamentales para cualquier desarrollador que utilice Git, ya que proporcionan información valiosa sobre la historia y el estado actual del proyecto.