我有一些git repos,它们是同一个项目中的不同组件。维护这么多存储库并在它们之间切换的开销对我来说太过分了。
但是,阻止我将它们放在同一个repo中的原因是我不希望提交混合(我不想要一个包含两个或更多目录中的更改的提交)。 这很重要,因为部分模块是其他项目的分支,我可能想将部分工作提交给原始回购。
问题是:是否有一些工具可以自动将单个提交拆分为多个提交(每个目录一个)?
(更好的是:保持repos分离,但有一些mega-meta-repo,它给出了单个存储库的错觉并管理引擎盖下的所有项目提交?) 感谢
答案 0 :(得分:2)
我也去过那儿!大多数情况下,子模块可以是PITA。
我建议使用自Git 1.7.11以来可用的子树(git-subtree
)。每个子树都有自己独立的历史。这是official documentation。
Atlassian对子树有一个很好的介绍,Alternatives To Git Submodule: Git Subtree。