Saltar a contenido

Comandos de historial y sincronización en Git

Comando git log

El comando git log muestra las confirmaciones (commits) realizadas en el proyecto.
Permite ver el historial, buscar cambios concretos y filtrar resultados.

Mientras que git status muestra el estado actual del proyecto, git log se centra en el historial confirmado.

Ejemplo básico

git log
Muestra el historial completo de confirmaciones.
- Usa Espacio para avanzar.
- Usa q para salir.

Opciones útiles

git log -n <límite>
Muestra solo un número específico de confirmaciones.

git log --oneline
Muestra cada confirmación en una sola línea (resumen rápido).

git log --stat
Incluye el detalle de archivos modificados y número de líneas añadidas o eliminadas.

git log -p
Muestra las diferencias exactas de cada commit (detalle máximo).

git log --author="<nombre>"
Filtra confirmaciones por autor.

git log --grep="<texto>"
Filtra confirmaciones según el mensaje del commit.

git log <inicio>..<fin>
Muestra los commits entre dos puntos concretos (por ejemplo, entre ramas o IDs de commits).

git log <archivo>
Muestra solo los commits donde se modificó ese archivo.

git log --graph --decorate --oneline
- --graph → Dibuja un gráfico de ramas.
- --decorate → Añade nombres de ramas o etiquetas.
- --oneline → Muestra cada commit en una sola línea.

Idea clave

git log es la herramienta principal para explorar el historial del repositorio, revisar versiones anteriores y analizar qué cambios se han hecho, cuándo y por quién.

Comandos de sincronización: push, pull y fetch

Estos tres comandos son los más importantes para sincronizar tu trabajo local con el repositorio remoto (por ejemplo, GitHub).

git push

El comando git push envía los commits locales al repositorio remoto.

git push <nombre_remoto> <rama>

Ejemplo práctico:

git push origin main
Sube tus cambios desde la rama local main al remoto origin.

Subir todas las ramas:

git push --all <nombre_remoto>

Forzar subida (⚠️ con precaución):

git push --force <nombre_remoto> <rama_remota>
Ignora los cambios existentes en el remoto y sobrescribe su contenido.

Ignorar comprobaciones previas (hooks):

git push --no-verify
Evita ejecutar scripts automáticos antes de subir el código (solo en casos puntuales).

Recuerda

Antes de hacer un push, asegúrate de que tus cambios están confirmados (commit) en el repositorio local.

git pull

El comando git pull descarga los cambios del repositorio remoto y los fusiona automáticamente con tu rama local.

git pull <nombre_remoto> <nombre_rama>

Qué hace internamente:

git pull = git fetch + git merge

  1. fetch → Descarga los cambios del remoto.
  2. merge → Los une con tu rama local.

Ejemplo:

git pull origin main

Importante

Si tienes cambios sin confirmar, el git pull puede fallar.
Siempre guarda tus cambios con git commit antes de actualizar.

git fetch

El comando git fetch descarga los cambios del remoto pero no los fusiona automáticamente.
Te permite revisar las diferencias antes de actualizar tu rama.

git fetch
Después de un fetch, puedes comparar y decidir si hacer un merge o rebase manual.

Idea clave

  • git fetch → Descarga, pero no fusiona.
  • git pull → Descarga y fusiona automáticamente.
  • git push → Sube tus commits locales al remoto.
  • git log → Explora el historial del proyecto.

Con estos comandos, podrás mantener tu repositorio actualizado, sincronizar cambios con otros desarrolladores y controlar el historial del código.