在项目目录中给定一个Git仓库的树形结构,例如:
我想建立一个名为
Projects/
+A/
|+.git/
+B/
|+.git
我想建立一个名为
Projects.git
的git存储库,它不跟踪项目内容,只跟踪它们的存在和状态。克隆此存储库的人应该只有未克隆的存储库A
,B
等的框架,并可以单独激活它们是否保持同步。典型的工作流程如下:
- 首次设置:
git clone server:Projects.git
- 激活项目
A
,也会克隆它 - 现在每个
git-push/pull
,无论是在Projects/
还是在Projects/A
中,都应该更新A.git
和Projects.git
关于A
的信息。与B
相关的任何内容都应被忽略,因为它是非活动的且本地为空 - 激活项目
B
,也会克隆它 - 现在,在
Projects
中进行任何git-push/pull
操作都应该在A
和B
中进行,而在A
中进行的推送/拉取操作不应影响B
- 停用项目
A
,之后(在验证A.git
不需要git-push
之后)清空本地目录A
,对Project.git
没有影响