git pull subtree删除所有内容

时间:2013-02-25 22:17:37

标签: git git-subtree

我正在尝试利用git中的子树功能,我可以拥有一个引用其他repo的repo,因此似乎拥有两个repos的所有文件。我已经阅读了几个介绍herehere,并试图关注它们。

所以我在git hub中有两个回购。我这样做

git checkout testBranchA
git pull origin testBranchA
git remote add external git@github.com:reharik/repoB
git fetch external
git checkout -b external external/testBranchB
git read-tree --prefix=src/ -u external
git commit -m "added subtree"

所以现在我看看我的文件系统,我看到来自两个repos的所有文件,一切都很棒。然后我做

git pull -s subtree external testBranchB 

似乎两个本地回购中的所有内容都被删除了。事实上,它确实

removing src/...

在所有文件上,然后它似乎进行合并,你看到所有文件用红色和绿色+'s和-s,然后呢

delete mode 100644 src/...

所有文件

所以我不确定我做错了什么,但显然这是件事。

任何帮助将不胜感激

===编辑抱歉继续更改命令,我现在有点油腻,但我认为这是我正在使用的语法

1 个答案:

答案 0 :(得分:0)

最后git pull -s subtree ...命令似乎不正确,因为它没有考虑子树的位置。因为它会尝试将两个树粉碎在根级别,这可能是文件被删除的原因。

尝试改为:

git pull -s recursive -X subtree=src/ external testBranchB
相关问题