【发布时间】:2012-02-19 06:55:07
【问题描述】:
我想要做的是有一个根目录名为“lib”的主存储库,其中有 2 个子目录“js”和“html”。基于“lib”创建本地/开发分支时,我需要拉出主“html”目录,但在该目录中我需要最新的“js”目录。
仅供参考,“html”包含用于各种项目的多个模板,“js”包含我们自己的 Javascript 库,但也包含第 3 方:jquery、YUI、Cufon 等。理想情况下,我想尽可能从第 3 方 repo 中提取,尽管我暂时没有那个也能活。
在我的例子中,“js”应该与“html”分开,因为它被其他与“html”目录无关的项目使用,但基于“html”模板的项目总是需要“js” .
所以我的问题:
- 我能否在“html”中为开发/本地分支嵌套“js”?
我 read about submodules in this SO question 和 sparse checkouts,但我不明白其中任何一个如何实现上述目标 - 除非我克隆 '/lib' 和 sparse checkout '/lib/html/template1/'例如,然后在 '/lib/html/template1/js/' 中克隆相同的 repo 和稀疏结帐 '/lib/js'。在这种情况下,我的第二个问题:
- 如果我嵌套稀疏签出的 repo,当我 a) 在更高级别 ('/lib/html/template1/') 提交时会发生什么,以及当我在嵌套级别 ('/lib/html /template1/js/')?这听起来有点狡猾。
当本地分支的工作完成后,我们将与 dev 分支合并。项目完成后,我们会将 dev 与 master 合并。那么第三个问题:
- 提议的解决方案是否允许上述目录结构和所描述的工作流程?
概述拟议工作流程的图表:
很高兴得知我的概念有偏差,但如果是这样,请帮助我解释原因,以及如何实现上述目标。我绝对不是 Git 专家,我正在尝试开始使用 Git。
【问题讨论】:
标签: git workflow git-submodules branching-and-merging