给定项目目录中的 git 存储库树,例如
Projects/
+A/
|+.git/
+B/
|+.git
我想建立一个 git 存储库Projects.git,它不跟踪项目的内容,而只跟踪它们的存在和状态。克隆此存储库的人应该只有一个未克隆存储库等的骨架A,B并单独激活它们是否保持同步。典型的工作流程如下所示:
- 第一次设置:
git clone server:Projects.git - 激活项目
A,它也会克隆它 - 现在每个
git-push/pull,无论它是否在Projects/或Projects/A应该更新两者A.git和Projects.git的信息A。任何相关的东西都B应该被忽略,因为它是非活动的并且在本地是空的 - 激活项目
B,克隆它 - 现在 any
git-push/pullin也应该在andProjects中这样做,而 push/pull in不应该影响ABAB - 停用项目
A,(验证后A.git不需要 agit-push)清空本地目录A,不影响Project.git
怎样才能得到最好的治疗?我目前的方法是一些钩子魔术,但我对git 子模块不够熟悉,看是否可以通过子模块来实现,或者我是否需要使用其他解决方案。