04-operaciones-avanzadas
Almacenamiento temporal
git stashGuarda cambios temporales sin hacer commit (útil para cambiar de rama).
git stash popRecupera los cambios guardados con stash.
git reset --soft HEAD~1Deshace el último commit pero mantiene los cambios en staging.
git reset --hard HEAD~1Elimina el último commit y todos los cambios (¡Cuidado! Es destructivo).
git rebase <rama-base>Reaplica commits sobre otra rama (reescribe el historial).
git tag <nombre-tag>Crea una etiqueta para marcar versiones específicas.
git cherry-pick <commit-hash>Aplica un commit específico a la rama actual.
Resolución de Conflictos
git mergetoolAbre una herramienta visual para resolver conflictos de fusión.
git revert <commit-hash>Crea un nuevo commit que deshace los cambios de un commit específico.
🛠️ Flujo de Trabajo Típico:
git checkout -b feature/nueva-funcionalidad
# Realizar cambios...
git add .
git commit -m "Agrega nueva funcionalidad"
git push origin feature/nueva-funcionalidad
# Crear Pull Request en GitHub/GitLab💡 Buenas Prácticas:
- Haz commits pequeños y atómicos
- Escribe mensajes de commit claros y descriptivos
- Sincroniza frecuentemente con el repositorio remoto
- Usa ramas para features nuevos o experimentos
- Nunca hagas
git push --forceen ramas compartidas