Esto se resume en Uso de Git para administrar un sitio web.
La clave del proceso es el enganche del lado del servidor 'post-recepción' (más sobre git hooks en Customizing Git - Git Hooks y la página de manual de githooks ). Este enlace se ejecuta después de que el servidor ha recibido todos los datos.
Una vez que el servidor recibe los datos, ejecuta git checkout -f
La opción -f forzará un pago al encabezado incluso si hay diferencias locales.
#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
Pon eso en el hooks/
directorio como post-receive
y ejecutable. Por supuesto, la ruta cambia a donde tiene los archivos de su servidor web (el uso de GIT_WORK_TREE
establece la variable de entorno para que no necesite hacer malabares con los archivos de puntos y la configuración de git en el servidor).
Para retroceder, se debe etiquetar cada lanzamiento (esto también se puede hacer como parte del enlace posterior al compromiso). Al etiquetar la versión, se puede identificar fácilmente el lugar al que se debe revertir, aunque eso probablemente implique iniciar sesión en el servidor y verificar esa etiqueta.