2011-09-12 122 views
1

我們已經通過SSH使用私人git倉庫一段時間了,這對我們來說工作得很好。現在,我們希望爲部署代碼提供只讀版本,即允許遠程用戶檢出部署代碼,但無法推回到回購站。我如何自動保持兩個裸git回購同步?

(這是爲了讓我們部署到多個生產服務器,而不需要從所有這些遠程生產服務器設置爲git的服務器的SSH訪問權限。)

到目前爲止,我已經能夠克隆主從私人部分出到Web根目錄和發佈:

$ cd /path/to/web/root/git 
$ git clone --bare /repos/git/project-name project-name.git 
$ cd project-name.git 
$ touch git-daemon-export-ok 
$ git --bare update-server-info 
$ mv hooks/post-update.sample hooks/post-update 

...但是現在/path/to/web/root/git/project-name.git所產生的回購協議是註定,除非它被從主更新,漂到不相干,而我不會每天手動運行git fetch。我如何自動更新它?我應該定期通過cron腳本運行git fetch嗎,還是在post commit commit進入?

回答

2

這就是鉤子的用途,但如果它們都在同一臺機器上,我個人只會使用符號鏈接。

+1

我曾嘗試符號鏈接,但沒有運氣(通常是權限問題)。顯然,我剛剛嘗試過的模式 - 將回購網站放在web根目錄下,然後在git目錄中添加一個符號鏈接 - 這是我沒有嘗試的模式,而這顯然是要走的路。謝謝。 – pjmorse