git中的“子模块”:编织或子树或其他东西

时间:2010-10-02 18:55:35

标签: git subtree externals braid

要在我的“主”存储库中包含一些外部git存储库,有几个选项:

  • 子模块
  • 编织物
  • 子树

基本上每个人似乎都建议第一个人。我相信第二个和第三个是子树模式的实现。

一个更好吗?我应该使用哪个?为什么?我怎样才能在它们之间做出选择?

1 个答案:

答案 0 :(得分:4)

  • submodule非常适合:

    • 引用另一个repo的一个特定提交(与显式修订版号相对应的svn外部的真实等价物),
    • 保留两个历史记录(父回购和外部回购)分开(如component-based approach中所示)。
  • subtree非常适合将一个回购的历史记录包含在另一个回购中。

因此,如果少数外部存储库没有使用主父母的所有标记和提交历史记录的职业,请使用子模块。
否则,子树就可以了。