在处理相同文件的同时维护多个 git 分支

问题描述

我有一个要求,需要发布两个功能 XY。这两个功能都涉及相同的文件。问题是客户可能会根据时间线和质量要求取消该功能。现在我想到了两种方法

  1. 创建一个统一的分支,将合并功能 XY 的更改。优点:易于合并和维护,缺点:难以删除要求的功能之一的代码
  2. 创建单独的分支,最后合并以进行开发。先合并X,然后在合并Y开发时解决大量的冲突。优点:易于删除代码,缺点:难以合并。

方法

                featureTaskOfY
                 /
                /
D(Develop)<----XY<---- featureTaskOfX

方法

                 
                
D(Develop)<----X<---- featureTaskOfX
       \
        \
         ----------Y<-------featureTaskOfY

还有什么其他方法可以通过更简单的方式解决它。两者兼顾。

解决方法

您可以在同一个分支上同时拥有这两个功能,方法是在一次提交中提交功能 X 的所有文件,然后在另一次提交中提交所有 Y。这样,如果您必须删除任何功能,您只需还原与该功能对应的提交即可。

而且您可以在单个分支上工作,从而节省了合并冲突的麻烦。