Git的子树合并策略没有选择正确的目录

时间:2012-03-29 17:49:39

标签: git git-submodules subtree git-subtree

我有一个看起来像这样的存储库:

foo/
    subrepo/
        a_file_in_subrepo
        another.ext
    unrelated_file

subrepo是github上的一个存储库,我的存储库中有一个遥控器,比如sub,它跟踪它,但没有一个文件被合并。

我想要的是在sub/master文件夹中subrepo合并。我知道a_file_in_subrepoanother.extsub/master完全一样,但如果我运行git merge -s subtree sub/master我就得不到我想要的东西,而是得到:

foo/
    subrepo/
        a_file_in_subrepo
        another.ext
    unrelated_file
    a_file_in_subrepo
    another.ext

我真的很困惑。我知道它猜测要自动合并的目录,我可以覆盖它吗?

1 个答案:

答案 0 :(得分:2)

使用-Xsubtree=<path>合并策略的recursive选项:

git merge -s recursive -Xsubtree=subrepo sub/master