Android 在git中具有不同版本的源代码,其中包含一些常见的和不同的内容
我知道这听起来有点奇怪,但我真的在与这种情况作斗争,Android 在git中具有不同版本的源代码,其中包含一些常见的和不同的内容,android,git,version-control,Android,Git,Version Control,我知道这听起来有点奇怪,但我真的在与这种情况作斗争,git分支不是答案 我有一个情况,我需要保持我的android源代码在不同的版本。但问题是,这些版本中的一些代码很常见,但有些则不常见,因为它们是基于不同安卓市场标准的文件和编辑;他们需要与众不同 因此,我需要找到一种方法将我的源代码保存在不同的版本中,当我编辑代码时,这些共同的差异会在所有版本中生效,但当我编辑不同的文件和内容(与市场相关的文件和内容)时,我只需要它们生效并添加到自己的版本中 注:我不能使用git分支,因为我需要随时跟踪每一个
git分支
不是答案
我有一个情况,我需要保持我的android源代码在不同的版本。但问题是,这些版本中的一些代码很常见,但有些则不常见,因为它们是基于不同安卓市场标准的文件和编辑;他们需要与众不同
因此,我需要找到一种方法将我的源代码保存在不同的版本中,当我编辑代码时,这些共同的差异会在所有版本中生效,但当我编辑不同的文件和内容(与市场相关的文件和内容)时,我只需要它们生效并添加到自己的版本中
注:我不能使用git分支,因为我需要随时跟踪每一个版本的变化以及它们之间的共性和差异,这不是一种逻辑方法,因为它可能会导致问题
附言:我需要找到一种方法来配置类似于gitignore
的东西来完成这个任务,并使git将公共和差异推送到它们的相关版本中
注:如果有任何其他风投或项目有助于实现这一点,我很高兴知道。使用不同的项目。将您的公共零件创建为库,然后创建包含该库的不同项目。然后,您可以将其放在一个存储库中。或者,您可以将它们放在不同的存储库中,并使用git子模块在它们之间进行链接。git分支可以满足您的需求 假设您需要处理两个市场标准,因此您可以在三个分支中管理源代码:
分支:管理常用文件的版本。使用common
匹配所有可能的非公共文件,以便将其他分支合并到.gitignore
分支中,不会跟踪非公共文件公共
分支:管理market1标准中的所有源代码。market1标准的非通用文件仅在market1
分支中管理market1
分支:管理market2标准中的所有源代码。market2标准的非通用文件仅在market2
分支中管理market2
- 在
分支机构上进行更改时,如果要更新不同市场分支机构中的公共文件,可以将common
分支机构直接合并到市场分支机构中common
- 在
branch中开发和管理关于market1标准的非通用文件版本。如果您更改了market1
分支中的公共文件,您可以通过将market1
分支合并到market1
分支来更新公共分支中的版本(非公共文件不会添加到公共分支中,因为它在common
中匹配).gitignore
- 在
branch中开发和管理关于market2标准的非通用文件版本。如果您更改了market2
分支中的公共文件,则可以通过将market2
分支合并到market2
分支中来更新common
分支中的版本common
。gitignore
对于每个分支,只忽略common
分支中的非常见文件就足够了。由于common
branch用于公共文件的记录版本,所以当您将common
branch合并到市场分支中时,只需将公共文件合并到市场分支中即可。无论三个分支之间有什么不同(几行或很多文件),您可以将分支合并为工作流。但问题是我永远不想将我的公共分支合并到市场。只需要单独的版本。既要跟踪每一个版本,也不要错过任何一个市场分支。因为它可能会导致其他市场分支机构将来出现问题,因为common与不常见的文件和行合并。如果要分别管理common文件、market1标准的非common文件、market2标准的非common文件的版本,还可以使用git子模块或git子树。那么,在单独的分支机构或单独的回购协议中管理这些文件,并将关系视为主要子模块,您真正需要什么呢?