在制作中,我维护了两个站点 - 测试和发布.每个都通过软链接指向不同的目录(例如)
beta_public_html -> /home/scott/myapp/trunk/public public_html -> /home/scott/myapp/branches/1.2.3/public
我是一个长期的svn用户,转向git.我习惯通过svn更新部署并更改新分支上的软链接,事情非常简单.
现在我转向git.我仍然需要两个软链接(它是使用Passenger的Rails应用程序),但现在我希望它们指向两个不同的git分支("beta"和"release",比如说).我希望能够通过git push(或git pull)更新它们.
问题第1部分:我不确定最好的方法.
我开始这样做的方法是只部署到两个不同的遥控器,例如
git push ssh://scott@x.com/home/scott/myapp-beta beta git push ssh://scott@x.com/home/scott/myapp-release release
但这不起作用,因为默认情况下push不会更新工作树.
所以我进入远程目录并第一次运行git reset --hard,它会拉动工作树.但我再次推动,我无法得到新的推动 - 它只是停留在最初的一个.
(顺便说一句,请注意,我似乎无法推送到"myapp-beta.git" - 失败了,我必须推送到目录名.我担心这是问题的一部分,但我不知道我在这里做错了什么.)
所以,如果问题1的答案是我的方法没问题,问题第2部分:我实际上做了什么错了?如果有我应该使用的钩子,有人可以指向我吗?
(对问题1的回答说"运行这7个手动步骤"将不是一个非常有用的答案,因为svn checkout + ln -s是两个步骤.)
谢谢.我想回到编写代码.