Guías
Tools Actualizado el 6 de noviembre de 2026

Git esencial

Comandos de Git del día a día: ramas, commits, historial, stash, rebase, etiquetas, deshacer cambios, limpieza y trabajo remoto.

  • #git
  • #vcs
  • #ramas
  • #commits

Configuración inicial

AcciónComando
Definir tu nombre global
Definir tu correo global
Establecer main como rama por defecto
Ver toda la configuración activa

Estado y diferencias

AcciónComando
Estado resumido con la rama y su tracking
Cambios sin preparar (working tree)
Cambios ya preparados para el commit
Solo los nombres de archivos cambiados
Comparar tu rama con main

Commits

AcciónComando
Preparar un archivo concreto
Elegir trozo a trozo qué preparar
Crear el commit
Añadir cambios al último commit sin tocar el mensaje

Usa Conventional Commits: tipo(scope): descripción en imperativo, con tipos como feat, fix, chore, docs, test, refactor, perf o ci. Haz --amend solo sobre commits que aún no has subido.

Ramas

AcciónComando
Listar todas las ramas (locales y remotas)
Crear y cambiar a una rama nueva
Cambiar a una rama existente
Volver a la rama anterior
Eliminar una rama ya fusionada
Forzar el borrado de una rama

Historial

AcciónComando
Historial compacto como grafo de todas las ramas
Historial de un archivo con sus diffs
Seguir un archivo aunque se haya renombrado
Buscar commits por mensaje
Quién cambió cada línea
Ver un commit concreto
Ver un archivo tal como estaba en otra rama

Stash: guardar cambios temporalmente

AcciónComando
Guardar los cambios con un mensaje
Incluir también archivos nuevos sin seguimiento
Listar los stashes
Recuperar el último y borrarlo de la lista
Aplicar uno concreto sin borrarlo
Borrar un stash

Rebase e integración

AcciónComando
Reaplicar tu rama sobre la última main
Continuar tras resolver un conflicto
Cancelar el rebase y volver al estado inicial
Copiar un commit concreto a la rama actual
Fusionar creando siempre un commit de merge

Haz rebase solo sobre ramas que nadie más usa. Si tu rama ya estaba subida, publícala después con git push --force-with-lease, nunca con --force.

Etiquetas

AcciónComando
Crear una etiqueta anotada
Listar etiquetas
Subir una etiqueta
Subir todas las etiquetas
Borrar una etiqueta local

Deshacer cambios

AcciónComando
Descartar cambios locales en un archivo
Quitar un archivo del área de staging
Corregir el mensaje del último commit
Deshacer el último commit conservando los cambios
Revertir un commit ya subido con un commit nuevo
Ver dónde ha estado HEAD (para recuperar commits)
Recuperar un commit perdido en una rama nueva
Descartar todo y volver a un commit (destructivo)

git reset --hard borra los cambios sin confirmar sin posibilidad de recuperarlos y reescribe la historia: no lo uses en ramas compartidas. En ramas ya subidas usa git revert.

Mover y borrar archivos

AcciónComando
Renombrar o mover conservando el historial
Borrar un archivo del repositorio
Dejar de versionar un archivo sin borrarlo del disco

Haz el git mv en un commit y los cambios de contenido en otro: así Git detecta el renombrado y git log --follow sigue funcionando.

Trabajo remoto y limpieza

AcciónComando
Vincular el repositorio remoto origin
Subir la rama actual y configurar el tracking
Traer cambios aplicando rebase limpio
Descargar referencias remotas sin fusionar

Limpieza de ramas

AcciónComando
Ramas locales ya fusionadas en main
Ramas aún sin fusionar
Quitar referencias a ramas remotas borradas
Borrar una rama en el remoto
Ver ramas cuyo remoto ya no existe

Bisect: encontrar el commit que rompió algo

AcciónComando
Empezar la búsqueda
Marcar el commit actual como roto
Marcar un commit que funcionaba
Automatizar con un script de tests
Terminar y volver a tu rama

Git hace una búsqueda binaria: tras cada good o bad cambia a otro commit hasta señalar el primero que falla.