我有一个特定的分支和合并方案,如下所述::
假设我有一个" Master"在git repo中分支。还有一个功能分支说 "特征1"取自大师,约200人将在那里工作。现在我想采取另一个分支说" Team_Feature"大约20人将在那里工作。同时我必须保持" Team_Feature"分支与" Feature1 Branch"同步。在" Feature1"之后分支完成后,它将合并到主分支和新分支"特征2"将在这段时间内,我的团队将继续致力于" Team_Feature",这将与" Feature 2分支"合并。
现在,我将Feature1分支重新命名为Team_Feature,我将每周进行一次。
面临的问题:: 我第二次改变,我遇到了很多合并冲突,属于下面提到的不同情况
所以,问题是,
请帮助,提前致谢:)
答案 0 :(得分:0)
<强>目的:强>
<强>解决方案:强>
所以,问题是,
这是什么添加/添加,重命名/删除,重命名/重命名冲突?
导致这些冲突的原因是什么?
- &GT;有很多链接可以理解这一点,(重命名/删除,重命名/重命名)基本上它是对合并中两个分支中的文件的树级别更改,并且两个更改都不同。除了添加/添加 - &gt;这是文件内容级别冲突,例如在同一文件中的相同行号添加不同内容
如何避免它们?
避免使用这种复杂的分支,替代方案可以 使用切换而不是功能分支。
如果您正在使用功能分支模型,请编写邮件以完成 关于你正在工作的地区的团队,并要求他们不要做树 该区域的级别更改,如删除,重命名等。这更容易 解决内容冲突,但解决树级冲突很痛苦。
我强烈建议在这种情况下使用切换来避免复杂的合并冲突。 - 切换是一个功能的运行时条件(标志),可以根据切换标志以两种可能的方式运行该功能。所有功能仅在一个分支中切换。
示例: -
让我们说我们正在实施一个新的详细信息页面,
我们将首先设置一个切换,其值存储在某个文件中,例如new_details_page = true
现在在代码中我们会有类似的东西 if(new_details_page == true) { 渲染&#39; newPage&#39; }其他{ 渲染&#39; oldPage&#39; }
如果新详细信息页面的工作未完成,并且您希望使用旧详细信息页面发布产品,则只需使用该标志构建应用程序为false并部署到发布环境。
最后,在这种情况下避免合并冲突的最佳解决方案是使用切换,您可以在互联网上阅读更多关于切换与功能分支的内容。