2011-11-14 75 views
1

我在git下有「myapp」文件夾。使用幾個分支(master,dev,test,prod,...)。 我想製作一個外部shell腳本(不在「myapp」文件夾中的腳本)將給定分支部署到Web服務器。外殼部署git文件夾

如何從外部腳本中選擇專用分支?

的想法是使用類似:

cp -r [email protected] my_we_folder_path 
# [email protected] beeing the dev branch of myapp folder 

顯然,MYAPP @開發不是一個正確的git的符號,但有一些等值的混帳?

+1

http://stackoverflow.com/questions/4155144/git-post-receive-hook-to-update-multiple-servers可以幫助:後收到掛鉤。 – VonC

+1

@VonC謝謝,這似乎很棒!我認爲這正是我需要的。你能答覆嗎? – Luc

回答

3

正如SO問題「git post-receive hook to update multiple servers」所示,實現該功能的常用方法是通過類似於this one的後接收掛鉤。

這個想法是,在新的提交中,將你的git repo歸檔並將它解壓縮到你需要部署它的地方。
正如在「git-archive vs. cp」中所提到的,這比僅僅是一個所有的git倉庫更好。
這與在部署平臺上沒有任何VCS功能的做法一致,並且只保留在生產環境中運行程序所需的操作。

+0

完美!非常感謝。 – Luc