💻 Tecnología

Domina Git con estos comandos esenciales que uso a diario

📅 8 min de lectura ✍️ SolveItHow Editorial Team
Domina Git con estos comandos esenciales que uso a diario
Respuesta Rápida

Los comandos de Git más importantes para el día a día incluyen git init, git clone, git add, git commit, git push, git pull, git branch, git merge y git log. Aquí te explico cada uno con ejemplos prácticos.

Experiencia Personal
Desarrollador de software con 8 años de experiencia usando Git a diario

"En mi primer trabajo como desarrollador, me pasé tres horas intentando arreglar un merge conflict porque no entendía bien cómo funcionaba git merge. Al final, mi compañera Marta me enseñó su truco: usar git mergetool con Meld. Desde entonces, los conflictos dejaron de darme miedo."

Llevo años usando Git y todavía recuerdo cuando borré una rama entera por accidente con un git branch -D mal puesto. Desde entonces, aprendí que dominar unos pocos comandos bien vale más que saber cien de memoria. Este artículo no es un manual de Git, es la lista de los comandos que realmente uso en mi día a día, con los ejemplos que me hubiera gustado tener cuando empecé.

🔍 Por qué sucede esto

Git tiene una curva de aprendizaje empinada. La mayoría de tutoriales te bombardean con teoría de grafos y objetos internos cuando lo único que necesitas es saber cómo guardar tu trabajo y compartirlo con tu equipo. Los comandos básicos son pocos, pero si no los entiendes bien, puedes perder horas o incluso código.

🔧 6 Soluciones

1
Inicia un repositorio con git init y git clone
🟢 Easy ⏱ 1 minuto

Crea un repositorio nuevo desde cero o clona uno existente.

  1. 1
    Abrir la terminal — Navega hasta la carpeta de tu proyecto usando cd.
  2. 2
    Ejecutar git init — Escribe 'git init' para crear un repositorio vacío. Verás que aparece una carpeta .git.
  3. 3
    Clonar un repositorio remoto — Usa 'git clone https://github.com/usuario/repositorio.git' para copiar un repositorio existente en tu máquina.
💡 Si clonas con SSH en lugar de HTTPS, no tendrás que escribir usuario y contraseña cada vez. Añade tu clave SSH en GitHub/GitLab y usa 'git clone git@github.com:usuario/repo.git'.
Producto Recomendado
GitHub Enterprise
Por qué ayuda: Si trabajas en equipo, una cuenta de GitHub Enterprise te da repositorios privados ilimitados y mejor gestión de accesos.
Ver Precio en Amazon
Podemos recibir una pequeña comisión — sin costo adicional para ti.
2
Guarda cambios con git add y git commit
🟢 Easy ⏱ 2 minutos

Prepara y confirma tus cambios en el historial del repositorio.

  1. 1
    Ver el estado — Escribe 'git status' para ver qué archivos han cambiado.
  2. 2
    Añadir archivos al área de staging — Usa 'git add index.html' para añadir un archivo, o 'git add .' para añadir todos los cambios.
  3. 3
    Confirmar los cambios — Ejecuta 'git commit -m "Añadida página de inicio"' para guardar los cambios con un mensaje descriptivo.
💡 Los mensajes de commit deben ser imperativos y cortos. Por ejemplo: 'Corrige error en cálculo de impuestos' en lugar de 'Corregido error'.
3
Sincroniza con remoto usando git push y git pull
🟢 Easy ⏱ 1 minuto

Sube tus commits al repositorio remoto o descarga los cambios de otros.

  1. 1
    Subir cambios — Escribe 'git push origin main' para subir tus commits a la rama main del remoto.
  2. 2
    Descargar cambios — Usa 'git pull origin main' para traer los cambios del remoto y fusionarlos con tu rama local.
  3. 3
    Verificar el remoto — Con 'git remote -v' ves las URLs de los repositorios remotos configurados.
💡 Siempre haz git pull antes de empezar a trabajar para evitar conflictos grandes. Si trabajas con varias personas, haz pull cada hora.
Producto Recomendado
Sourcetree
Por qué ayuda: Una interfaz gráfica como Sourcetree te ayuda a visualizar ramas y conflictos cuando la terminal se vuelve confusa.
Ver Precio en Amazon
Podemos recibir una pequeña comisión — sin costo adicional para ti.
4
Gestiona ramas con git branch y git checkout
🟡 Medium ⏱ 3 minutos

Crea, cambia y elimina ramas para trabajar en paralelo sin afectar la rama principal.

  1. 1
    Crear una rama nueva — Ejecuta 'git branch feature-login' para crear una rama llamada feature-login.
  2. 2
    Cambiar a otra rama — Usa 'git checkout feature-login' para moverte a esa rama. Desde Git 2.23 puedes usar 'git switch feature-login'.
  3. 3
    Listar ramas — 'git branch' muestra las ramas locales. La rama activa aparece con un asterisco.
  4. 4
    Eliminar una rama — Con 'git branch -d feature-login' borras la rama si ya está fusionada. Si no lo está, usa '-D' para forzar.
💡 Nombra las ramas con un prefijo tipo 'feature/', 'bugfix/' o 'hotfix/' para mantener el repositorio ordenado. Ejemplo: 'git branch feature/pago-tarjeta'.
5
Fusiona cambios con git merge y resuelve conflictos
🟡 Medium ⏱ 5 minutos

Integra los cambios de una rama en otra y soluciona conflictos si los hay.

  1. 1
    Ir a la rama destino — Primero cámbiate a la rama donde quieres fusionar, por ejemplo 'git checkout main'.
  2. 2
    Ejecutar el merge — Usa 'git merge feature-login' para fusionar la rama feature-login en main.
  3. 3
    Resolver conflictos — Si hay conflictos, Git te lo indica. Abre los archivos conflictivos, busca las marcas <<<<<<< y =======, edita el código y guarda.
  4. 4
    Confirmar el merge — Después de resolver, haz 'git add archivo' y 'git commit' para finalizar el merge.
💡 Si el merge es complejo, usa 'git mergetool' para abrir una herramienta visual como Meld o KDiff3. Instálalas con apt o brew.
6
Revisa el historial con git log y git diff
🟢 Easy ⏱ 2 minutos

Consulta el historial de commits y las diferencias entre versiones.

  1. 1
    Ver historial de commits — Escribe 'git log --oneline --graph --all' para ver un resumen gráfico de todos los commits y ramas.
  2. 2
    Ver cambios no confirmados — Usa 'git diff' para ver las diferencias sin staging. Añade '--staged' para ver lo que está en staging.
  3. 3
    Comparar dos commits — Con 'git diff abc123 def456' (sustituye por los hash) ves los cambios entre dos commits específicos.
💡 Añade un alias en tu configuración: 'git config --global alias.lg "log --oneline --graph --all"'. Luego usa 'git lg'.
⚠️ Cuándo buscar ayuda profesional

Si llevas más de una hora atascado con un conflicto de merge o has perdido commits importantes, no pasa nada por pedir ayuda. Pregunta a un compañero o busca en Stack Overflow. También existen cursos interactivos como 'Learn Git Branching' que te enseñan visualmente. Si tu equipo usa Git con frecuencia, considera hacer un workshop interno para que todos estén alineados.

Git no se aprende en un día. Yo mismo he cometido errores que me hicieron perder horas, pero con la práctica estos comandos se vuelven automáticos. Lo importante es empezar con lo básico: init, add, commit, push y pull. El resto viene solo. No tengas miedo de experimentar en un repositorio de prueba. Y recuerda: siempre puedes hacer un git reflog si algo sale mal. Eso sí, nunca fuerces un push si no estás seguro.

❓ Preguntas Frecuentes

Usa 'git reset HEAD~1' para deshacer el último commit manteniendo los cambios en tu working directory. Si quieres borrar los cambios por completo, añade '--hard'. Ten cuidado porque los cambios se pierden.
Ejecuta 'git commit --amend -m "Nuevo mensaje"'. Esto modifica el commit más reciente. Si ya lo habías subido al remoto, tendrás que hacer 'git push --force'.
Significa que estás en un commit específico, no en una rama. Puedes explorar pero no guardar cambios fácilmente. Para solucionarlo, crea una rama nueva con 'git checkout -b nueva-rama'.
Crea un archivo .gitignore en la raíz del proyecto y escribe los patrones de archivos a ignorar, por ejemplo 'node_modules/' o '*.log'. Luego añádelo con 'git add .gitignore' y haz commit.
Si no has hecho commit, usa 'git checkout -- nombre-archivo'. Si ya hiciste commit, usa 'git restore nombre-archivo' o busca el commit anterior con 'git log' y haz 'git checkout <hash> -- nombre-archivo'.