为多个开发人员使用git分支

时间:2014-09-01 18:02:36

标签: git github

我们有一个项目,有多个开发人员。每个开发人员都有自己的功能分支,一旦功能完成,它就会与主服务器合并并推送到远程存储库。问题出现了:

  1. 如果有几个人正在开发功能,他们都会推动他们的更改,其中一个功能就是错误。有没有办法在远程运行测试中将所有功能推送到辅助主机,如果一切顺利,请推送到遥控器中的主设备?

  2. 让我们说所有的开发人员都在研究他们的功能,并且会出现紧急修复,如何最好地处理?有些开发商可能已经推出,但我们只想推动紧急修复?

2 个答案:

答案 0 :(得分:4)

广告1.是的,这是可能的。只需在远程仓库中创建另一个分支作为"辅助主机"如果你愿意的话。您可以随意命名,例如 devel

广告2.我们的团队有一个名为 production 的分支,它应该与生产服务器上运行的和我们正在部署的版本完全相同。因此,当我们需要应用修补程序时,我们不必担心 master 的当前状态 - 我们只是将其应用于生产

我建议阅读此内容,至少是为了灵感:A successful Git branching model

答案 1 :(得分:1)

这些都很容易用git做。这个想法是这样的:

  • 一个master分支,这是"稳定"
  • 一个staging分支跟踪master并获取该功能首先合并:这是最终测试完成的地方。
  • 众多功能分支。

如果在master上进行紧急修复,可以通过以下几种方式处理:

  • cherry-选择每个功能分支的提交。您也可以将修复程序应用于其他分支和樱桃选择。采摘樱桃非常本地化,可以往返任何分支(原则上)。
  • 将master合并到功能分支中,包括任何"上游"一气呵成的改变
  • 将功能分支重新绑定到主服务器上。这基本上是前一项,有一个主要区别:rebase将倒回并将所有分支的提交重放到master的tip上,所以当在rebase之后合并分支时,它将具有非常线性的实现历史,并且所有分支机构的提交都会连续出现。