Questo è riepilogato da Uso di Git per gestire un sito web
La chiave del processo è il gancio lato server 'post-ricezione' (altro su git hooks su Personalizzazione Git - Git Hooks e la pagina man di githooks ). Questo hook viene eseguito dopo che il server ha ricevuto tutti i dati.
Una volta che il server riceve i dati, esegue git checkout -f
L'opzione -f impone un checkout alla testa anche se ci sono differenze locali.
#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
Metti questo nella directory hooks/
come post-receive
ed eseguibile. Naturalmente, il percorso cambia in dove sono i file del server web (l'uso di GIT_WORK_TREE
imposta la variabile di ambiente in modo che non sia necessario manipolare i file di punti e le impostazioni git sul server).
Per il rollback, si dovrebbe taggare ogni release (questo può essere fatto anche come parte del hook post-commit). Tagliando il rilascio si può facilmente identificare il punto in cui eseguire il rollback, sebbene ciò implichi probabilmente l'accesso al server e il controllo di quel tag.