git子树拉缺少目录

时间:2015-05-25 19:05:09

标签: git git-subtree

我有一个现有的git repo,我想把一个子集导入另一个git repo。最初我在整个回购中添加了:

git remote add -f coda-oss_remote https://github.com/mdaus/coda-oss.git
git subtree add --prefix externals/coda-oss coda-oss_remote master --squash

这很好用。然后我想摆脱一些不需要的目录(由于各种原因需要)。这实际上比我想象的要简单;我刚刚将它们删除了类似于:

git rm -r externals/coda-oss/modules/drivers/pcre

随后的拉动......

git subtree pull --prefix externals/coda-oss coda-oss_remote master --squash

git非常聪明,只是将更新添加到其他repo中,并没有尝试重新创建已删除的目录。一切都像我想要的那样工作。

另一天是我第一次尝试拉动当我在第二个回购中删除的目录中的一个文件被修改时。我有一个合并冲突,因为git看到该文件已在原始仓库中修改但在我的仓库中没有。这很容易解决 - 我只需要对文件做另一个'git rm' - 但我希望这个过程是我可以编写脚本并自动合并所有内容的。

有没有更好的方法来完成我正在尝试做的事情或者至少是一种自动方式来做到这一点所以我可以编写脚本(我可以解析合并冲突并运行'git rm',我认为)。

0 个答案:

没有答案