Git工作流程建议

时间:2018-11-14 10:29:12

标签: git git-workflow

首先,我对Git并不十分了解,我正在寻找一些建议,因为我面临以下问题:我的部门拥有以下分支机构,并在Git中使用了持续交付管道:

  1. 在Git中具有相应分支(称为master)的DEV
  2. PROD在Git中具有生产分支,因此当我们在Prod分支中合并master时,我们所有的开发都将进入Prod环境。

我们如何进行:对于每个新功能,我们在master上创建一个新功能分支,然后在master上提交更改,以将其置于Test环境中并检查它们是否有效。因此在master上,可能准备在Prod中使用的功能以及仍处于开发/测试阶段的其他功能有不同的提交。如果更多的人从事相同的工作,例如更改相同的文件,则情况变得更加复杂。

所以我们只有DEV和PROD,不可能有另一个额外的环境。

因此,我们面临一些问题,何时该向PROD推广这些更改,例如不推广所有更改或推广尚未准备就绪的PROD。

所以我的问题是,您认为针对此特定情况的最佳实践方案是什么?因此,如果您有经验,将非常感谢您的帮助。

非常感谢您抽出宝贵的时间阅读我的问题!

1 个答案:

答案 0 :(得分:-1)

一种常见的方法是在单独的分支上开发功能,这些分支是从您的开发分支(在您的情况下为master)中分支出来的,并且仅在完成后再合并它们。最后一部分在这里很重要:如果尚未准备好将变更推广到生产中,请不要将其合并以进行开发,而是先将其置于不会破坏内容的状态。

有关此模型的详细说明,请参见here

这里的问题是您必须重新合并才能进行开发才能进行测试。这似乎不可行。您可以添加另一个图层,例如testing分支,在其中合并以测试更改,并且仅在它们正常工作时才将它们合并到master。但是,正如我所说,更好的方法是在功能分支上进行测试,而不是首先合并破坏性的内容以进行开发。