Це підсумовано з використання програми Git для управління веб-сайтом
Ключовим моментом цього процесу є гачок на стороні сервера "пост-отримання" (докладніше про гачки на git на сторінці Настроювання Git - Git Hooks та на сторінці людини githooks ). Цей гак запускається після того, як сервер отримав усі дані.
Після того, як сервер отримує дані, він запускає git checkout -f
Опція -f змушує перевірити голову, навіть якщо є місцеві відмінності.
#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
Помістіть це в hooks/
каталог як post-receive
і виконуваний файл. Звичайно, шлях змінюється до того, де у вас є файли вашого веб-сервера (використання GIT_WORK_TREE
встановлює змінну середовища так, що вам не потрібно перемикати точкові файли та налаштування git на сервері).
Щоб повернути назад, слід помітити кожний випуск (це може бути зроблено і як частину гачка після завершення). Додавши теги до випуску, можна легко визначити місце для відкату, хоча це, ймовірно, включає вхід на сервер та перевірку цього тегу.