在用git进行web开发的工作流程之后,我一直被委托在最后一秒添加一个临时服务器。我们在本地进行开发/测试并推出回购协议,现在需要在两者之间建立一个沙箱,以便其他部门的人员可以在周围玩耍并尝试新东西而不会破坏内容。部署git分支
远程回购需要两个长期运行的分支(本着nvie分支模式的精神),掌握和发展。
我们需要能够推到一个回购协议,并检出开发分支test.site.com文档根目录,并在准备好时,合并发展成主机和结账掌握到site.com文档根目录
所以上服务器...
git init
git add .
git commit -m "Initial commit"
git checkout -b "develop"
而且我们本地机器...
git clone [email protected]:/repos/repo1.git
???
git push origin/develop (??? Updates test.site.com docroot)
而回服务器,以使代码直播
git checkout "master"
git merge develop (??? Updates site.com docroot)
git checkout -b "develop"
和当地
git pull
帮助与赞赏问号或其他建议。
编辑: 正在尝试一些迄今为止的答案。在过渡时间里想出了一个彻头彻尾的想法,并认为我会分享:
一个post-receive hook来统治它们。
我们克隆裸露的回购和跟踪发展。推动发展/发展。
后接受 - 设置GIT_WORK_TREE到test.site.com,结账-f发展
如果提交信息中包含 “merge_master”,设置GIT_WORK_TREE到文档根目录site.com,
git checkout master
git merge develop
git checkout -f master (this would be for hotfixes)
合并掌握本地发展和拉动
在尘埃落定之后,发送电子邮件difflog,拧你的手,并have一口强。
有多少种不同的方式可以打破?
你见过吗? http://nvie.com/posts/a-successful-git-branching-model/ – kan
是的,这实际上是我最初被介绍给git的。分支不像现在部署那样是个问题。我确实喜欢两个长期运行的分支的核心思想。 – James