Tu servidor SSH ya es tu servidor Git: push y auto-despliegue sin extras

Fuentes: You Already Have a Git Server

Cualquier máquina con SSH y Git puede funcionar como servidor de repositorios sin necesidad de instalar servicios adicionales. Basta con clonar el repositorio mediante git clone ssh://usuario@host/ruta/al/repo para disponer de un remoto funcional sobre el que hacer push y pull con la autenticación y el cifrado que SSH ya ofrece.

El artículo señala que Git, por defecto, rechaza los pushes a la rama actualmente desprotegida en el servidor, un comportamiento que se modifica con git config receive.denyCurrentBranch updateInstead. Este ajuste permite editar en local, confirmar los cambios y enviarlos al servidor, que los deposita directamente en el árbol de archivos, sin recurrir a scp ni a rsync.

Cuando se requiere más que un simple almacén de archivos, Git puede ejecutar un script tras recibir nuevos commits mediante los hooks del directorio .git/hooks. El post-update recibe automáticamente la salida del script en el terminal del cliente, lo que permite ver los errores del generador del sitio estático o de cualquier otra tarea en el momento, sin paneles de control ni registros web intermedios.

La pieza se plantea como una alternativa minimalista frente a flujos basados en Docker, pipelines de integración continua, funciones serverless o archivos YAML de configuración compleja, y se dirige a desarrolladores que mantienen sitios estáticos, blogs o pequeños proyectos y prefieren apoyarse en herramientas de línea de comandos ya presentes en el sistema.