【发布时间】:2017-01-09 21:38:31
【问题描述】:
我试图弄清楚“git subtree”是如何工作的。我已经按照this page 上的所有指示进行操作,但在尝试将子树项目合并到我自己的存储库中时总是出错(“步骤 2”):fatal: refusing to merge unrelated histories。
我读过this post,当我使用--allow-unrelated-histories 选项时,它似乎工作正常。但是,我不确定是否应该使用它...我的印象是子树的全部意义在于在一个存储库中具有不相关的历史记录,因此必须添加该选项感觉很奇怪。我还是应该添加它,还是我做错了什么?
我在 osx 10.11.6 上使用 git v2.9.3
【问题讨论】:
-
正如那篇帖子所说,错误本身在 Git 2.9 版中是新的。旧版本的 Git 合并了不相关的历史,没有任何抱怨(并且没有任何合理的合并基础,尽管这对于不相关的子树来说很好)。子树脚本依赖于旧行为。
-
在我看来
--allow-unrelated-histories是git merge的参数而不是git subtree,因为它不在git-subtree(1)中,而是在git-merge(1)中 -
我遇到了同样的问题。
--allow-unrelated-histories对我来说似乎也错了,但我想它必须这样做。
标签: git git-subtree