2012-06-20 63 views
0

我按照本教程'Using Git to manage a web site',使用Tower提交併將我的本地倉庫推送到遠程服務器。推進以下消息成功:Git站點部署 - 在接收後鉤子檢出不工作

Pushing to ssh://[email protected]/~/git/tprevo.git 
stdin: is not a tty 
Counting objects: 40, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (37/37), done. 
Writing objects: 100% (40/40), 171.95 KiB, done. 
Total 40 (delta 3), reused 0 (delta 0) 
To ssh://[email protected]/~/git/tprevo.git 
* [new branch]  master -> production 
updating local tracking ref 'refs/remotes/production/production' 

Successfully created tracking connection. 

我覈實,我的後收到鉤正在執行,但checkout命令不被推動的代碼添加到什麼,我相信我已經設置爲我的工作目錄。我一直試圖弄清楚這一點。

後得到:

#!/bin/sh 
GIT_WORK_TREE=/home/tprevo/public_html/tprevo git checkout -f 

我是新來的Git,非常熱衷於學習。調試這個最好的方法是什麼?

+0

您是否檢查'/ home/tprevo/public_html/tprevo'上的權限?它應該可以由你ssh進入的用戶寫入。 –

+0

是的,它是可寫的,我暫時將其設置爲777,但文件從未檢出到該路徑。如果路徑不可寫,是否會出現錯誤消息? – okyanet

+0

'/ home/tprevo /'和'/ home/tprevo/public_html'至少需要'111'('a + x')。 –

回答

7

好吧...我有一個類似的設置...是你的文件可執行文件? 請檢查文件的屬性...

ls -la post-receive 

如果不是可執行文件,那麼你需要屬性吧...

sudo chmod +x post-receive 

UPDATE

我注意到您有一個名爲分支可能你希望在結帳命令中針對您的收到後掛接...

git checkout -f production 
+0

就是這樣 - 我沒有特別檢查'production'分支。我對這個設置非常滿意,很簡單的部署到我的開發和生產環境。非常感謝! – okyanet

+0

很高興能提供幫助:-) –

+0

工程就像一個魅力! –