0

这是我当前用于 Web 开发环境的工作流程:在服务器中,我为每个 repo 都有一个 post-receive 挂钩,因此当有人推送某些内容时,它将工作树设置为 Apache 文档根目录,并签出更改,如下所示:

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

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

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

我的想法是为开发分支使用不同的遥控器,为生产(主)分支使用不同的遥控器,并且能够像我到目前为止所做的那样检查更改并在线查看它们。这可能吗?我是否必须为 dev 分支创建不同的存储库?

4

2 回答 2

1

您描述的内容是在 gitFlow 中实现的

https://github.com/nvie/gitflow

http://nvie.com/posts/a-successful-git-branching-model/

如果您仍然决定使用不同的遥控器,我建议您为每个遥控器设置不同的分支,然后在需要时同步它们。

于 2013-08-06T20:20:45.303 回答
0

拥有多个遥控器真的没问题。

git remote add devel /path/to/remote1
git remote add production /path/to/remote2

将开发分支推送到devel

git push devel devel_branchname

将一些东西推送到主分支:

git push production master
于 2013-08-06T21:06:45.730 回答