Git para DevOps y SREs: Control, Historia y Supervivencia en Equipo

DanDan
2 min read

Git es mucho más que un sistema de control de versiones. Para DevOps y SREs, es una herramienta esencial para auditar infraestructura como código, automatizar despliegues, y colaborar en entornos donde los errores cuestan tiempo... o caídas.

Este artículo está orientado a perfiles junior con experiencia básica que quieren subir el nivel. No repetiremos git init y git status, sino que exploraremos flujo de trabajo, buenas prácticas, comandos clave y recuperación de errores reales.

Flujo de trabajo recomendado para DevOps y SREs

  1. Clona el repo de IaC o configuración

  2. Crea rama para tu tarea (fix/logging-bug, feature/new-backup...)

  3. Usa commits frecuentes, descriptivos y pequeños

  4. Haz push a una rama remota (origin/fix/...)

  5. Abre PR, revisa y mergea con squash si es posible

  6. Despliegue automatizado vía CI/CD

git checkout -b fix/missing-healthcheck
# Cambios...
git add -A
git commit -m "Add missing healthcheck to nginx config"
git push origin fix/missing-healthcheck

Comandos útiles para tareas reales

Buscar en el historial

git log --grep="timeout"
git log -S"curl" --stat

Ver diferencias

git diff HEAD~1                # Último commit
git diff main..feature/alertas # Entre ramas

Reescribir commits recientes

git commit --amend
git rebase -i HEAD~3

Ideal para limpiar el historial antes de hacer merge a main.

Limpiar y resetear

git clean -fd
git reset --hard origin/main

⚠️ Esto borra cambios locales. Úsalo solo si sabes lo que haces.


Organización recomendada

  • main: rama protegida, estable

  • dev: rama de integración de features

  • feature/*, fix/*: ramas de trabajo


Recuperación ante errores

Borraste archivos sin querer

git fsck --lost-found

Revertir un commit ya en main

git revert <commit_id>

Ver contenido de una versión anterior sin cambiar HEAD

git show abc1234:path/to/file.yaml

Buenas prácticas

  • Commits pequeños y atómicos

  • Mensajes con contexto (feat, fix, refactor, ci)

  • No subir archivos sensibles (.env, claves privadas)

  • Usar .gitignore siempre

  • Añadir pre-commit hooks (formato, lint, tests)

Git como herramienta de auditoría

Git guarda quién hizo qué, cuándo y por qué, ideal para entornos regulados, troubleshooting de cambios en producción, y trazabilidad en equipos distribuidos.

Git no es solo para devs. Para SREs y DevOps es un cuaderno de bitácora, una caja negra y una red de seguridad. Cuanto más cómodo te sientas con él, más podrás colaborar, automatizar y rastrear lo que ocurre en tus sistemas.

Y en The Rabbit Hole, el control de versiones... es poder. 🐇

0
Subscribe to my newsletter

Read articles from Dan directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Dan
Dan