Bạn có thể sử dụng móc post-checkout
để cập nhật cơ sở dữ liệu hoặc tệp trên máy chủ của mình. Hook này chạy trên phía máy khách (nghĩa là, người thực hiện bản sao sẽ thực thi kịch bản), vì vậy bạn cần thiết kế kịch bản của bạn từ phối cảnh đó. Ngoài ra, có thể sao chép kho lưu trữ mà không thực thi móc này bằng cách thêm tùy chọn --no-checkout
vào git clone
.
Cách tiếp cận đơn giản và đáng tin cậy là để máy chủ chạy một dịch vụ web RESTful nhỏ mà móc của bạn có thể gọi với curl
hoặc một số cơ sở tương tự. Ví dụ:
#!/usr/bin/env python
import socket, sys, urllib, pycurl
service_url = "https://my.server.dns/service.php"
data = urllib.urlencode({
'prev': sys.argv[1],
'new': sys.argv[2],
'branch': sys.argv[3],
'host': socket.gethostname()
})
c = pycurl.Curl()
c.setopt(pycurl.URL, service_url)
c.setopt(pycurl.POSTFIELDS, data)
c.perform()
Xem http://www.kernel.org/pub/software/scm/git/docs/githooks.html.
Nguồn
2012-08-27 14:30:57