这是我目前用于Web开发环境的工作流程:在服务器中,我为每个repo都有一个post-receive挂钩,所以当有人推送某个东西时,它会将工作树设置为Apache文档根目录,并检查更改,像这样的东西:
#!/bin/sh
GIT_WORK_TREE=/var/www/project git checkout -f
从那时起它一直很好用。但现在在我的团队中,我们决定开始使用分支来处理我们的问题(类似于基于主题的工作流程),因此我们的想法是创建一个开发分支,然后根据每个问题创建一个分支。开发部门。然后当有人完成他们的工作时,他们与dev分支合并,然后QA检查它,然后合并回master(生产分支)。
目前对repo的所有更改都被推送到服务器上的master分支,然后可以在网站上查看它们,但是当我创建一个新分支并推送更改时,工作树不会更新(也许带钩的东西。)
我的想法是为开发分支设置一个不同的遥控器,为生产(主)分支设置一个不同的遥控器,并且能够像我一直在做的那样检查更改并在线查看。这是真的吗?我是否要为dev分支创建不同的repo?
答案 0 :(得分:1)
您所描述的内容是在gitFlow中实现的
https://github.com/nvie/gitflow
http://nvie.com/posts/a-successful-git-branching-model/
如果您仍然决定使用不同的遥控器,我建议您每个遥控器都有不同的分支,然后在需要时同步它们。
答案 1 :(得分:0)
拥有多个遥控器真的没问题。
git remote add devel /path/to/remote1
git remote add production /path/to/remote2
将devel分支推送到devel
:
git push devel devel_branchname
将某些内容推送到主分支:
git push production master