我相信我有一个非常普遍的问题,它会影响具有多个版本应用程序的开发人员(在我的情况下,我有两个:付费版本和免费版本)。
为了管理这两个版本,我使用具有两个不同分支的同一个git项目:免费和付费
但是我的源代码包名彼此不同(如预期的那样),并且由于Java的限制,即目录名映射到包名,因此出现一个问题:如何告诉git将某个目录下的文件与每个分支相关联?
让我给你举个例子:
我有两个分支:
在主版本中,我的源代码在com.zemariamm下,但是在“免费”分支中,源代码在“com.zemariamm.free”下,如何配置git以“告诉他”源代码在目录com.zemariamm下(在分支主机中)映射到目录com.zemariamm.free下的源代码(在分支免费中)?
在此先多谢
泽
最佳答案
从理论上讲,您不会在Git中进行任何配置:
如果com.zemariamm.free.MyClass
的内容与com.zemariamm.MyClass
非常相似,则Git应该能够在两个不同分支的两个目录之间链接MyClass
文件的历史记录。
特别是,从free
到master
的 merge 应报告从MyClass
到com.zemariamm.free.MyClass
的新演变(向com.zemariamm.MyClass
添加,修改或移除的行)。
仅当MyClass
在两个分支之间足够相似时,这才有效:
参见“How does Git track history during a refactoring ?”