我一直在研究Git子模块,以便在一个Git项目中嵌套另一个Git项目,但我遇到了一个问题,告诉我子模块可能不是正确的解决方案。
让我解释一下我的想法:
目前,我有一个带有多个分支(主分支和开发分支)和一个库的单个项目,我想将其分离为自己的Git项目(这样可以独立开发并具有自己的提交历史记录)。具体来说,我还想能够:
1. 在库项目的单独克隆中提交和推送更改,这些更改在未明确要求之前不会更新到超级项目中。 2. 当处于超级项目主分支时使用库主分支。 3. 当处于超级项目开发分支时使用库开发分支。
如果能做到以下功能就更好了(但不是必需的):
4. 从超级项目内部提交和推送到库项目。
据我所知,Git子模块支持#1和#4(即使#4需要进行一些额外的检查以确保您处于正确的分支上)。#2和#3则不太支持。
我已经查看了Git子模块和子树之间的区别和Git中的供应商分支,但两者似乎都没有提供我所要求的完全功能。是否可以使用Git实现?是否可以在不进行大量额外移动/重命名/检出目录的情况下实现?
让我解释一下我的想法:
目前,我有一个带有多个分支(主分支和开发分支)和一个库的单个项目,我想将其分离为自己的Git项目(这样可以独立开发并具有自己的提交历史记录)。具体来说,我还想能够:
1. 在库项目的单独克隆中提交和推送更改,这些更改在未明确要求之前不会更新到超级项目中。 2. 当处于超级项目主分支时使用库主分支。 3. 当处于超级项目开发分支时使用库开发分支。
如果能做到以下功能就更好了(但不是必需的):
4. 从超级项目内部提交和推送到库项目。
据我所知,Git子模块支持#1和#4(即使#4需要进行一些额外的检查以确保您处于正确的分支上)。#2和#3则不太支持。
我已经查看了Git子模块和子树之间的区别和Git中的供应商分支,但两者似乎都没有提供我所要求的完全功能。是否可以使用Git实现?是否可以在不进行大量额外移动/重命名/检出目录的情况下实现?