假设我有一个项目IMClient-MacOS和IMClient-Windows的两个分支,它们的代码只相差(假设)一个目录main /.所有其他目录都包含与系统无关的代码,并且可以互换.
一些工作人员使用Windows版本,一些工作人员使用MacOS版本.当它们从对应的分支合并时,它们如何防止覆盖变为main /目录?有没有办法在Git中合并,总是会忽略依赖操作系统的目录?
您可以解决您的问题git,但如果您将系统相关的代码放在不同的目录中并处理构建系统中的跨平台依赖项(Makefiles或您使用的任何内容),您的生活将变得非常简单.或者有一些很好的理由我忽略了让不同系统的代码共享一个目录?
小智 6
不要每个平台只使用一个分支(windows和mac).
相反,至少有三个分支:Generic,windows和mac.通用分支没有任何系统相关代码,并且平台分支没有任何通用代码,因此没有分支将自己构建.相反,mac开发人员总是创建一个抛弃分支,它是generic和mac之间的合并以便构建.
然后,开发并提交通用功能到通用分支,并在平台分支上使用相关的平台支持代码.
更好的方法是拥有一个可由构建系统在两个平台上构建的代码库(makefile变量和条件编译).然后,mac开发人员将为mac添加新功能的通用功能和平台支持代码,同时为其他平台添加非工作存根,并将结果交给其他平台上的开发人员填写存根.
| 归档时间: |
|
| 查看次数: |
1644 次 |
| 最近记录: |