Điều này được tóm tắt từ Sử dụng Git để quản lý một trang web
Chìa khóa của quy trình là hook phía máy chủ 'post-receive' (nhiều hơn về git hook tại Tùy chỉnh Git - Git Hook và trang man githooks ). Móc này chạy sau khi máy chủ đã nhận được tất cả dữ liệu.
Khi máy chủ nhận được dữ liệu, nó chạy git checkout -f
Tùy chọn -f sẽ buộc thanh toán đến đầu ngay cả khi có sự khác biệt cục bộ.
#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
Đặt nó trong hooks/
thư mục như post-receive
và thực thi. Tất nhiên, đường dẫn thay đổi thành nơi bạn có tệp của máy chủ web (việc sử dụng GIT_WORK_TREE
đặt biến môi trường để bạn không cần phải xử lý các tệp chấm và cài đặt git trên máy chủ).
Để quay trở lại, người ta nên gắn thẻ cho mỗi bản phát hành (điều này cũng có thể được thực hiện như một phần của hook post-commit). Bằng cách gắn thẻ bản phát hành, người ta có thể dễ dàng xác định vị trí để quay lại, mặc dù điều đó có thể liên quan đến việc đăng nhập vào máy chủ và kiểm tra thẻ đó.