Plone项目包含192个不同的回购:https://github.com/plone/
在开发过程中,有时需要触摸2或4或10个不同的回购来修复错误或实现功能。如果所有这些都可以分支并合并在一起(例如,拉动请求关闭 issueX 包含提交到 repo1 , repo2 和< EM> repo3 )。
版本要求将整套回购品分支并标记在一起。
Pre-git,一个版本是由一个文件定义的,该文件列出了构成版本的所有模块的svn版本号。 git是否为我们提供了更简化的工作方式?
乍一看,似乎“超级项目”可能适用:
你可以更具体地定义之间的关系 超级项目中带有标签和分支的项目
http://progit.org/book/ch6-6.html#superprojects“Git / Submodules和Superprojects”似乎证实了这一点,但仍然含糊不清(不涉及标签或分支)。 http://en.wikibooks.org/wiki/Git/Submodules_and_Superprojects
另一个听起来相关的工具是Joey Hess的mr
:
mr(1)命令可以对集合进行签出,更新或执行其他操作 存储库就好像它们是一个组合的存储库。
http://kitenet.net/~joey/code/mr/(我担心这会导致192个不同的分支碰巧具有相同的名称,而不是将所有回购链接在一起的1个分支。)
这个问题看似相关:Is anyone really using git super/subprojects?一个答案说明:
我们的项目(bitweaver,一个内容管理系统)是一个高度模块化的 系统,有近160个存储库 - http:// github.com/bitweaver/“。
这听起来像我们的情况。它引用了子模块的“严重限制”,并建议使用mercurial。听起来mr
可以帮助处理那些(“对超级仓库中的所有目录执行git命令”)。
答案 0 :(得分:0)
为什么不看看android使用的the repo tool?
答案 1 :(得分:0)
我会在“all”仓库中使用git子模块。另外,如果你找到跨越许多回购的工作,请考虑“git slave”。这可以节省很多精力。