2012-05-11 38 views
6

我一直在尋找到部署使用Git網站不同的方式,發現下面的教程:git的部署與子模塊

http://42pixels.com/blog/quick-and-dirty-git-deployment

我喜歡在這個教程中提出的意見,並會熱衷於將它用於我的網站,只是它似乎不支持子模塊。

無論如何,這是可以改變的,以便子模塊也被拉入並根據需要進行更新?

謝謝。

UPDATE

我一直對這個問題的最後幾個小時,我似乎取得進展,但我仍然不能得到它的工作。

我切換到本教程:http://toroid.org/ams/git-website-howto(其中大部分是一樣的,只是一些細微的變化),並按照後一些建議在這裏找到:https://stackoverflow.com/a/6636509/1049688我已經結束了一個後收到的文件,看起來像這樣的:

#!/bin/sh 

export GIT_WORK_TREE=/srv/www/limeblast.co.uk/htdocs_test 
export GIT_DIR=/srv/www/limeblast.co.uk/.git 
cd $GIT_WORK_TREE 

git checkout -f master 
git submodule init 
git submodule update 

這一切似乎在理論上很好,並且它會出現子模塊的命令運行,但我發現了以下錯誤消息後面:

遠程:子模塊「WordPress的」( git://github.com/WordPress/WordPress.git)註冊路徑'wordpress' remote:子模塊'wp-content/themes/limeblastevolution/inc/cssCrush'(git://github.com/peteboere/css-crush.git)註冊爲路徑'wp-content/themes/limeblastevolution/inc/cssCrush' remote:fatal:working tree'/srv/www/limeblast.co.uk/htdocs_test'already exists。 遠程:無性系 '混帳://github.com/WordPress/WordPress.git' 成子模塊路徑「WordPress的失敗

任何想法?謝謝。

回答

6

您可能已成功使用git-deploy

但如果是過分專注於Rails的,或者如果你不能或不會使用其他別的原因,這裏是如何給力的子模塊更新在提交後鉤:

git submodule init && git submodule sync && git submodule update 

你必須在服務器上運行它;所以可能最好將它添加到您的hooks/post-receive腳本中。這是簡單的BASH或SH,依靠它。

+2

謝謝你的幫助。我已經將該行添加到我的post-receive文件中,但是在初始上傳和結帳(這似乎工作正常)後,我收到錯誤消息「remote:您需要從工作樹的頂層運行此命令。 「關於子模塊的東西。有任何想法嗎?乾杯。 –