重复代码与轻松合并

时间:2012-06-27 11:34:30

标签: iphone git

我在master中有代码。我需要创建一个新的分支作为一个新的分支,它具有额外的功能,类似于已经在master中的功能。我还需要不时地将主变化合并到新分支。

我尝试过以下方法:

  
      
  1. 分别创建新类,尽管它们具有相似的功能+ git merge master没有问题   
        
    • 有重复的代码
    •   
  2.   
  3. 为常用功能创建抽象类,然后从中继承旧的主类和新的分支类+没有重复   码   
        
    • git merge master存在永久性问题
    •   
  4.   
  5. 它是#2的修改 - 将抽象类移动到主分支 - 解决了上面提到的两个问题但是   
        
    • 主人
    • 中有不必要的(抽象)代码   
  6.   

那么首选哪种方式?或者是否有正确的(另一种)解决方案?

更新
添加#3。

1 个答案:

答案 0 :(得分:2)

理想的解决方案是在 submodule 中隔离抽象类,并使父repo(具有master和新应用程序分支的那个)使用所述子模块。 /> 即在子目录中查找公共类,子目录中存在子模块(它本身就是一个单独的git repo)。

这样,你就分开了:

  • master和app之间的合并
  • 公共类的演变(在他们自己的git仓库中完成,作为主仓库中的子模块导入)