git - "submodules"在 git : braid or subtree or something else

标签 git subtree externals braid

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

  • 子模块
  • 辫子
  • 子树

第一个似乎基本上被所有人反对。我认为第二个和第三个是子树模式的实现。

一个更好吗?我应该使用哪个?为什么?我该如何选择?

最佳答案

  • submodule非常适合:

    • 引用另一个 repo 的一个特定提交(真正等同于带有显式修订号的 svn external),
    • 将两个历史记录(父 repo 和外部 repo )分开(如 component-based approach )。
  • subtree非常适合将一个 repo 的历史包含到另一个 repo 中。

因此,如果那些少数外部存储库没有义务以主要父父级的所有标签和提交历史结束,请使用子模块。
否则,子树没问题。

关于git - "submodules"在 git : braid or subtree or something else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3847116/

相关文章:

git - 我如何/应该在我的环境中使用 git?

git - Heroku 推送无法编译。错误指向 node-sass。可能的依赖不匹配,包括日志

git - 如何从终端访问 'GitHub for Mac' 命令行实用程序?

git - 将 git repo merge 为子目录

git子树推送失败 "/Applications/Xcode.app/Contents/Developer/usr/libexec/git-core/git-subtree"

python - 子树提取NLTK树

svn - "svn:externals"有什么好处?

git - 使用 Git,子树 merge 具有子模块的外部项目的最佳方法是什么?

svn - 如何开始使用 svn :externals?

svn externals ...是还是不是?