GitFlow:安全地将开发更改合并到功能分支

Ili*_*ija 41 git git-flow

最近我开始研究一个很大的功能,所以我创建了一个新的feature/xyz分支.问题是这个功能很大,所以我需要3个月才能完成它.我想安全地将已经进行的进度合并develop到我的功能分支中,而不必担心来自develop分支的更改将覆盖我已在功能分支中进行的更新.我以前尝试合并developfeature/xyz中,我已经在新功能收归做了一些改动结束了.

实现这一目标的命令是什么?谢谢

moc*_*ace 53

唯一的安全性在于学习,辨别和频繁合并.

只有你了解代码是如何开启developfeature/xyz对齐的,没有其他人.只有你才能以敏锐的方式正确地合并这两个流程.即使使用默认的合并策略,这些策略远没有那么危险,-S ours或者-X theirs您仍然需要查看结果.

当然,你可能需要一些帮助,git会提供一些帮助.例如,您可以使用git记录的分辨率 - rerere来帮助您在最初创建一个之后做出相同的正确合并决策.

一个相当普遍且相对简单的模型,使用您为分支提供的名称,可能对您有用,

  • develop 是发展的主要推动力发生的分支
  • xyz 是您开发xyz功能的分支
  • xyz_stage是你合并分支developxyz代码,保持该分支稳定符合各自的稳定点developxyz.当您准备发布功能xyz或其中的一部分时,这也是您最终合并回开发的分支.

以上假设你不仅合并xyzxyz_stage,但你也合并developxyz_stage不时和确保的部分xyz至今发布xyz_stage工作,并通过相关的测试与来自代码结合develop.

尽管如此,您仍然需要选择如何使xyz分支,您在该功能上工作,了解开发的进度.

最干净的选择是 - 不要让它意识到.这就是为什么你有xyz_stage两个开发流程汇集在一起​​的原因.只要xyz不延长发展,这种方法是可行和明智的.

第二个选项是在您对暂存分支感到满意时合并xyz_stage回来xyz.这样你就可以获得稳定的观点,你可以继续并xyz在顶部开发这个功能.

以下是该过程的简单说明,并附有注释:

功能xyz