Apuntes git

Commit temprano, commit a menudo, y reza fuerte.

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

  1. Ejecuta git status.
  2. Actualiza .gitignore.
  3. Haz commits lógicos con git add y git commit.
  4. Elimina archivos no deseados con git rm -r --cached.
  5. Realiza un respaldo del proyecto.
  6. Sube los cambios al remoto con git push.
  7. 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.

TOP