Saltar a contenido

Notas sobre Git

Eliminar todo el historial de commits de una rama

1
2
3
4
5
6
git checkout --orphan temp
git add -A
git commit -m "Initial commit"
git branch -D main
git branch -m main
git push --force origin main

Mover cambios locales a una nueva rama en Git sin afectar la rama remota

Mover modificaciones sin commit como commits existentes a una rama nueva, preservando limpia tu rama principal.

Prerrequisitos

  • Tener configurada una conexión con el repositorio remoto (origin)
  • Ejecutar git fetch origin para sincronizar el estado remoto localmente

Método 1: Cambios sin commit (working directory sucio)

  1. Crear y cambiar a la nueva rama llevando tus cambios:

git checkout -b nombre-nueva-rama
2. Confirmar los cambios en la nueva rama:
1
2
3
git add .
git commit -m "Mi mensaje descriptivo"
git push --set-upstream origin nombre-nueva-rama
3. Regresar a la rama original (ej: main o master):
git checkout tu-rama-principal
4. Resetear la rama original al estado del remoto:
git reset --hard origin/tu-rama-principal

Método 2: Cambios ya confirmados en la rama incorrecta

  1. Crear nueva rama desde tu posición actual (HEAD):
    git branch nombre-nueva-rama
    
  2. Volver a la rama original:
    git checkout tu-rama-principal
    
  3. Sincronizar con el remoto (borra commits locales):
    git reset --hard origin/tu-rama-principal
    
  4. Cambiar a tu nueva rama para continuar trabajando:
    git checkout nombre-nueva-rama