我相信我有一个非常普遍的问题,它会影响具有多个版本应用程序的开发人员(在我的情况下,我有两个:付费版本和免费版本)。
为了管理这两个版本,我使用具有两个不同分支的同一个git项目:免费和付费
但是我的源代码包名彼此不同(如预期的那样),并且由于Java的限制,即目录名映射到包名,因此出现一个问题:如何告诉git将某个目录下的文件与每个分支相关联?

让我给你举个例子:
我有两个分支:

  • 免费

  • 在主版本中,我的源代码在com.zemariamm下,但是在“免费”分支中,源代码在“com.zemariamm.free”下,如何配置git以“告诉他”源代码在目录com.zemariamm下(在分支主机中)映射到目录com.zemariamm.free下的源代码(在分支免费中)?

    在此先多谢

    最佳答案

    从理论上讲,您不会在Git中进行任何配置:
    如果com.zemariamm.free.MyClass的内容与com.zemariamm.MyClass非常相似,则Git应该能够在两个不同分支的两个目录之间链接MyClass文件的历史记录。

    特别是,从freemaster的 merge 应报告从MyClasscom.zemariamm.free.MyClass的新演变(向com.zemariamm.MyClass添加,修改或移除的行)。

    仅当MyClass在两个分支之间足够相似时,这才有效:
    参见“How does Git track history during a refactoring ?

    10-07 18:36