Inicio > Cursos > Git y GitHub > Cherry-pick, Reset y Revert
Git y GitHubGit AvanzadoLección 7 de 15

Cherry-pick, Reset y Revert

cherry-pick te permite traer un commit específico de cualquier rama a tu rama actual. Reset modifica dónde apunta HEAD. Revert crea un commit que deshace otro, de forma segura.

La diferencia clave: reset reescribe la historia (peligroso en público), revert crea nueva historia que deshace cambios (seguro en main).

# CHERRY-PICK: traer un commit específico
# Ver el SHA del commit que quieres
git log --oneline feature/hotfix
# abc1234 fix: corregir bug crítico de seguridad

git switch main
git cherry-pick abc1234
# Aplica los cambios de ese commit en main

# Cherry-pick múltiples commits
git cherry-pick abc1234 def5678

# --- GIT RESET ---
# --soft: mueve HEAD, mantiene staging y archivos
git reset --soft HEAD~1
# Útil para: deshacer el commit pero mantener los cambios staged

# --mixed (default): mueve HEAD, limpia staging, mantiene archivos
git reset HEAD~1
# Útil para: deshacer commit y staging, trabajar los cambios

# --hard: mueve HEAD, limpia staging Y archivos (PELIGROSO)
git reset --hard HEAD~1
# ⚠️ Los cambios se PIERDEN permanentemente

# --- GIT REVERT ---
# Crea un nuevo commit que deshace otro (SEGURO)
git revert abc1234
# Crea: "Revert: feat: agregar funcionalidad X"

# Revertir sin abrir el editor
git revert abc1234 --no-edit
Consejo🔴 git reset --hard descarta cambios permanentemente. Antes de usarlo, asegúrate de que no necesitas esos cambios. git revert es siempre la opción segura para ramas públicas.
← Rebase e Historia LinealTags y Versionado Semántico →

Practica esta lección

Resuelve los ejercicios del curso de Git y GitHub en la app, gratis y con corrección automática.

Empezar a practicar