Git™ es una herramienta muy potente para gestionar versiones de código, y aunque su interfaz gráfica puede facilitar ciertas tareas, su verdadera fuerza está en la línea de comandos.
A continuación encontrarás un resumen de comandos esenciales para empezar a trabajar con Git desde el terminal. No es una lista exhaustiva: aquí nos centramos en las acciones más comunes y útiles para el día a día.
git clone URL-del-repositorio
Crea una copia local del repositorio remoto, incluyendo su historial y ramas.
git fetch o traer y fusionar cambios con git pull.
git add archivo-o-carpeta
Prepara los cambios para ser incluidos en el próximo commit.
git add . → añade todos los cambios de la carpeta actual.
git commit -m "Mensaje descriptivo"
Registra los cambios preparados en el historial.
-a para incluir modificaciones y eliminaciones sin necesidad de git add. -m, se abrirá un editor para escribir el mensaje.
git checkout nombre-de-rama
git checkout -- archivo
git checkout -b nueva-rama
git rm archivo
Elimina un archivo tanto del área de trabajo como del índice.
-r para carpetas.
git fetch
Obtiene las actualizaciones desde el remoto pero sin fusionarlas con tu rama actual.
git pull
Es equivalente a git fetch + git merge.
Trae cambios del remoto y los combina con la rama activa.
git push origen rama
Sube tus commits a una rama del repositorio remoto.
--set-upstream vincula una rama local a la remota para no tener que especificarla en futuros push.
git branch
git branch nueva-rama
git branch -d rama-a-borrar
-a, muestra también las remotas. -m, renombra una rama.
git merge rama-a-fusionar
Combina el historial de otra rama con la actual. Si hay conflictos, deberás resolverlos manualmente.
git blame archivo
Muestra, línea por línea, el autor y el commit de cada cambio.
git clean -n
git clean -d
-n solo lista lo que se eliminaría. -d borra también carpetas no rastreadas.
git config --global user.name "Tu Nombre"
git config --global user.email "tu@email.com"
Establece configuraciones globales o por repositorio.
Los ajustes se guardan en ficheros .gitconfig o en la carpeta .config/git.
git diff
Muestra diferencias entre el área de trabajo y el último commit.
git diff rama1..rama2 compara ramas. git diff commit1..commit2 compara commits.
git grep "texto"
Permite encontrar cadenas o patrones dentro de los archivos del repositorio.
-i → ignora mayúsculas/minúsculas. --all-match → requiere que todas las palabras/patrones coincidan.
git log
Lista los commits de la rama activa, con autor, fecha y mensaje.
--after=YYYY-MM-DD o --before=YYYY-MM-DD para filtrar por fecha. --grep="texto" para buscar en mensajes de commit.
git revert commitID
Crea un commit nuevo que deshace los cambios de otro commit (sin borrar el historial).
git shortlog
Muestra un resumen de commits, útil para generar notas de versión.
git stash save "mensaje"
git stash list
git stash apply
git stash pop
pop los aplica y elimina del stash, apply solo los aplica.
Nota final:
Para entender completamente estos comandos, conviene tener claros los términos básicos de Git como commit, rama, HEAD o repositorio.