缺少目录的git子树拉取

缺少目录的git子树拉取,git,git-subtree,Git,Git Subtree,我有一个现有的git回购协议,我想将其中的一个子集导入另一个git回购协议。最初,我在整个回购协议中添加了: 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回购协议,我想将其中的一个子集导入另一个git回购协议。最初,我在整个回购协议中添加了:

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进行了更新,没有尝试重新创建删除的目录。一切都像我希望的那样运作

前几天,当我在第二次repo中删除的目录中的一个文件被修改时,我第一次尝试拉取。我得到了一个合并冲突,因为git看到文件在原始repo中被修改,但在我的repo中不存在。这非常简单,我只需要对文件执行另一个“git-rm”,但我希望这个过程是我可以编写脚本并自动合并所有内容的过程

有没有更好的方法来完成我想做的事情,或者至少有一种自动完成的方法,这样我就可以编写脚本了(我可以解析合并冲突并运行“git-rm”,我想)