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