Referencia Rápida de Conceptos Básicos de Git

Flujo de Trabajo en Git

Antes de profundizar en comandos específicos, es importente entender los cuatro componentes principales del entorno de Git:

  • Área de trabajo (Working Directory): Es donde se realizan las modificaciones y desarrollo.
  • Índice o Área de preparación (Staging Area): Guarda temporalmente los cambios antes de confirmarlos.
  • Repositorio local (Local Repository): Almacena todas las versiones confirmadas del proyecto.
  • Repositorio remoto (Remote Repository): Copia centralizada accesible para colaboradores.

El ciclo básico funciona así: los archivos son creados o editados en el área de trabajo; luego se añaden al índice mediante git add; después se confirman con git commit, guardándose en el repositorio local; finalmente pueden enviarse al repositorio remoto usando git push.

Términos Clave

HEAD

HEAD apunta siempre al último commit de la rama actual. Cambia automáticamente cuando se hace un nuevo commit o se cambia de rama.

Añadir Cambios

# Añade todos los archivos modificados al índice
git add .

# Añade una carpeta específica incluyendo subdirectorios
git add [ruta]

# Añade solo ciertos archivos
git add [archivo1] [archivo2]

Confirmar Cambios

# Confirma los cambios en el índice con un mensaje descriptivo
git commit -m "Mensaje explicativo"

# Confirma solo algunos archivos del índice
git commit [archivo1] -m "Solo archivo1"

# Corrige el último commit sin crear uno nuevo
git commit --amend -m "Versión corregida"

Gestión de Ramas

# Muestra todas las ramas locales
git branch

# Lista ramas remotas
git branch -r

# Ver todas las ramas (locales y remotas)
git branch -a

# Crear nueva rama pero permanecer en la actual
git branch [nombre-rama]

# Crear y cambiar a una nueva rama
git checkout -b [nombre-rama]

# Establecer seguimiento entre rama local y remota
git branch --track [rama-local] [rama-remota]

# Cambiar a otra rama
git checkout [nombre-rama]

# Eliminar una rama local
git branch -d [nombre-rama]

# Borrar rama remota
git push origin --delete [nombre-rama]

Etiquetas en Git

Las etiquetas permiten marcar puntos específicos en la historia del proyecto, normalmente usadas para versiones estables.

# Listar todas las etiquetas existentes
git tag

# Filtrar etiquetas por patrón
git tag -l 'v2.*'

# Crear una etiqueta simple
git tag v2.0

# Etiqueta anotada con descripción
git tag -a v2.0 -m "Lanzamiento estable"

# Etiquetar un commit específico
git tag -a v1.5 [hash-commit] -m "Versión inicial"

# Mostrar información detallada de una etiqueta
git show v2.0

# Enviar una etiqueta al servidor remoto
git push origin v2.0

# Subir todas las etiquetas locales
git push origin --tags

# Eliminar una etiqueta local
git tag -d v2.0

# Quitar etiqueta del repositorio remoto
git push origin :refs/tags/v2.0

Comandos Avanzados

Fusionar Ramas

# Fusiona una rama especificada en la rama actual
git merge [nombre-rama]

Existen dos tipos de fusión:

  • Fast-forward: Ocurre cuando no hay nuevos commits en la rama destino.
  • No fast-forward: Se crea un nuevo commit de fusión aunque haya cambios en ambas ramas.

Reorganizar Historial

# Aplica los cambios de otra rama sobre la actual
git rebase [nombre-rama]

Durante el proceso de rebase, puedes elegir cómo tratar cada commit:

  • reword: Editar mensaje del commit
  • edit: Modificar contenido del commit
  • squash: Combinar con el anterior manteniendo ambos mensajes
  • fixup: Unir con el anterior ignorando su mensaje
  • exec: Ejecutar comando personalizado
  • drop: Descartar commit completamente

Restaurar Versiones Anteriores

# Restaurar manteniendo cambios en índice
git reset --soft [commit]

# Restaurar descartando todo lo posterior
git reset --hard [commit]

Invertir Cambios

# Crea un nuevo commit que revierte otro
git revert [commit]

Seleccionar Commits Específicos

# Trae commits específicos desde otra rama
git cherry-pick [hash-commit]

Sincronización con Repositorio Remoto

# Descarga cambios sin modificar el directorio de trabajo
git fetch origin

# Descarga e integra automáticamente los cambios
git pull origin [rama]

Historial de Operaciones

# Muestra registro completo de acciones recientes
git reflog

Puedes usar esta referencia para restaurar a estados anteriores mediante git reset utilizando cualquiera de los identificadores mostrados.

Etiquetas: Git VCS control de versiones desarrollo colaborativo repositorios

Publicado el 8-26 05:23