Plan para Manejar Muchos Cambios Pendientes en Git
Este documento describe un plan paso a paso para organizar y gestionar un proyecto con muchos cambios pendientes en Git, especialmente si has hecho commits en mucho tiempo. Está diseñado para un proyecto donde eres el único autor.
1. Revisar el estado actual del proyecto
Antes de hacer commits, verifica los cambios pendientes para entender el alcance:
git status
Resultado típico:
- Archivos modificados.
- Archivos nuevos (untracked).
- Archivos eliminados.
Para un resumen compacto:
git status --short
Para ver diferencias en archivos específicos:
git diff nombre_archivo
2. Asegurarse de que .gitignore
esté actualizado
Revisa .gitignore
para asegurarte de ignorar archivos no deseados, como vendor/
, test.php
o archivos temporales. Ejemplo:
# Archivos de configuración sensibles
.env
config.php
# Archivos temporales
*.log
*.cache
*.tmp
# Dependencias
vendor/
node_modules/
# Archivos de compilación o minificados
css/*.min.css
js/*.min.js
# Archivos específicos
test.php
Para dejar de rastrear un archivo ya versionado:
git rm -r --cached nombre_archivo_o_carpeta
git commit -m "Dejar de rastrear nombre_archivo_o_carpeta"
3. Organizar los cambios en commits lógicos
No hagas un único commit gigante. Agrupa los cambios por tipo o funcionalidad.
Por ejemplo:
- Cambios en
css/misestilos.css
. - Cambios en archivos PHP.
- Nuevas plantillas HTML.
- Actualizaciones JS.
- Eliminación de archivos obsoletos.
Usar git add
de forma selectiva
# Cambios en estilos
git add css/misestilos.css
git commit -m "Actualizar estilos personalizados en misestilos.css"
# Lógica PHP
git add *.php
git commit -m "Implementar nueva funcionalidad en el backend"
# Plantillas
git add templates/
git commit -m "Agregar nuevas plantillas HTML"
También puedes usar el modo interactivo:
git add -i
Escribir mensajes de commit claros
- Mal: "Cambios varios"
- Bien: "Corregir errores en el formulario de contacto"
4. Limpiar archivos no deseados
Si git status
muestra archivos que no quieres seguir rastreando:
git rm -r --cached nombre_archivo
Por ejemplo:
git rm -r --cached vendor/
git commit -m "Dejar de rastrear la carpeta vendor/"
5. Hacer un respaldo antes de commits importantes
Realiza una copia del proyecto como medida de seguridad:
cp -r /var/www/ignit/ /var/www/ignit_backup/
6. Confirmar todos los cambios
Verifica que no queden archivos sin confirmar:
git status
Y si trabajas con remoto:
git push origin main
(Sustituye main
por el nombre de tu rama si es master
u otro)
7. Establecer un hábito de commits frecuentes
- Haz commits al terminar cada funcionalidad.
- Usa ramas para cambios grandes:
git branch nueva-funcionalidad
git checkout nueva-funcionalidad
- Configura alias útiles en
~/.gitconfig
:
[alias]
s = status --short
c = commit -m
Entonces puedes usar git s
y git c "mensaje"
como atajos.
Resumen de acciones inmediatas
- Ejecuta
git status
. - Actualiza
.gitignore
. - Haz commits lógicos con
git add
ygit commit
. - Elimina archivos no deseados con
git rm -r --cached
. - Realiza un respaldo del proyecto.
- Sube los cambios al remoto con
git push
. - Haz commits frecuentes para no acumular.
Nota: Si surgen problemas, consulta git status
y aplica este plan por bloques según el tipo de cambio.
- Anterior « Ramas Temporales
- Siguiente Fin del tema »