问题描述
现在有这样的需求:
有一个软件, 这个软件有好几个版本,这些版本之间的差异很小,
也就是说,这几个版本大部分代码是相同的,
也有小部分的代码是不同的。
重点是:
出现了一个问题,这个问题出现这些程序的公共部分,
我能不能有一种办法,
只修改一次,
让所有的版本都改变
但是保持原来版本不同的地方。
问题出现的平台版本及自己尝试过哪些方法
(1) 提取出公共的部分,提取就是一个大问题。
最后,我发现我的需求是有点矛盾,但是,我还是想和大家一起讨论一下,
感谢
现在有这样的需求:
有一个软件, 这个软件有好几个版本,这些版本之间的差异很小,
也就是说,这几个版本大部分代码是相同的,
也有小部分的代码是不同的。
重点是:
出现了一个问题,这个问题出现这些程序的公共部分,
我能不能有一种办法,
只修改一次,
让所有的版本都改变
但是保持原来版本不同的地方。
(1) 提取出公共的部分,提取就是一个大问题。
感谢
我一个不是那么正规的方法,算是快刀斩乱麻的方法,比如有 A B C 三个版本
以后公共部分改 base
再, 差异部分改 A' B' C'
附: 打差异包教程
5 回答2.8k 阅读
3 回答2.6k 阅读
1 回答1.4k 阅读✓ 已解决
3 回答965 阅读
题目中你说抽取公共部分很难,估计是公共部分在所有项目中可能都已经改动过了,并且改动未知,短期内唯一可行的方法就是使用git cherry-pick方式将改动合并到各个分支,并手动解决冲突。
从长远看,Feng_Yu已经给出理论上的最佳方案,即将公共部分提取出来放于单独的一个项目中。然后所有其它项目通过SubModule(子模块)的形式引用这个项目。