将分支推送到不同的远程

时间:2013-08-06 19:14:47

标签: git

这是我目前用于Web开发环境的工作流程:在服务器中,我为每个repo都有一个post-receive挂钩,所以当有人推送某个东西时,它会将工作树设置为Apache文档根目录,并检查更改,像这样的东西:

#!/bin/sh
GIT_WORK_TREE=/var/www/project git checkout -f

从那时起它一直很好用。但现在在我的团队中,我们决定开始使用分支来处理我们的问题(类似于基于主题的工作流程),因此我们的想法是创建一个开发分支,然后根据每个问题创建一个分支。开发部门。然后当有人完成他们的工作时,他们与dev分支合并,然后QA检查它,然后合并回master(生产分支)。

目前对repo的所有更改都被推送到服务器上的master分支,然后可以在网站上查看它们,但是当我创建一个新分支并推送更改时,工作树不会更新(也许带钩的东西。)

我的想法是为开发分支设置一个不同的遥控器,为生产(主)分支设置一个不同的遥控器,并且能够像我一直在做的那样检查更改并在线查看。这是真的吗?我是否要为dev分支创建不同的repo?

2 个答案:

答案 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
相关问题