2010-08-24 28 views
2

基本上我以爲我可以使用git進行部署,就像那些railku提供商一樣,提供heroku服務。所以我在服務器上創建了一個應用程序,改成了那個目錄,並在那裏做了一個git init。 接下來我創建了一個指向該目錄的git-wep的http服務器。現在我檢查一下,這也很好,並編輯並確認我的回購。我怎樣才能使用git進行部署?

現在,我想要做的下一步,將推到服務器,並讓它更新它的工作目錄作爲後提交掛鉤。部署。

但git不會讓我推。也許我可以

你可以設定「receive.denyCurrentBranch」配置變量「忽略」

,但我哪裏會做嗎?在哪裏以及如何放置鉤子?

回答

4

它最好能夠在服務器上的存儲庫是庫(一個不確實有一個工作副本 - 只有.git目錄的內容),然後在後期使用類似git archive | tar -x -C /path/to/htdocs -receive-hook將文件導出到服務目錄。

通過使用裸倉庫作爲您的目標,您可以避免完全推送到檢出分支的問題。

要創建一個純倉庫,通過--bare標誌,當你初始化:

git --bare init 
+0

了Git檔案| tar -x -C/path/to/htdocs會通過ssh發生,否則_that_會成爲鉤子? – Jan 2010-08-24 03:52:13

+0

這將在鉤子腳本中。 – Amber 2010-08-24 03:56:58

+0

非常感謝,我會盡力的! – Jan 2010-08-24 04:01:23