git subtree add不接受路径规范(pathspec)。

10

我正在尝试将一个vim插件作为git子树添加到我的设置仓库中。无论我尝试将子树拉取到哪里,git都会回复一个error: pathspec错误。

我在仓库根目录下使用以下命令:

git subtree add --prefix .vim/bundle/powerline powerline master --squash

这导致输出:

git fetch powerline master
From git://github.com/Lokaltog/powerline
 * branch            master     -> FETCH_HEAD
error: pathspec '.vim/bundle/powerline' did not match any file(s) known to git.

我正在使用git版本2.0.3


这种情况也发生在我身上,但后来发现是因为我使用的 --prefix 中有一个反斜杠... 如果使用正斜杠,它对我有效... - Jorge Orpinel Pérez
你尝试过在 git subtree add 前运行 git fetch --all 吗? - Jorge Orpinel Pérez
我尝试从头开始设置我的代码库。这一次一切都很顺利。不确定之前出了什么问题,但我认为我可以有一个没有初始提交的代码库。 - user917938
对于我来说(git 2.34.1),这是因为我添加的远程仓库是空的(我刚刚创建了它,打算填充它)。所以我不得不在远程仓库中创建一个dummy.txt文件,以便正确地使用subtree add - Dwayne Robinson
1个回答

28

我曾经遇到完全相同的问题,结果发现是小数点“.”

 git subtree add --prefix ./cs/ControlLibrary/ ControlLibrary master --squash

失败原因:

error: pathspec './cs/ControlLibrary' did not match any file(s) known to git

但是

git subtree add --prefix cs/ControlLibrary/ ControlLibrary master --squash

工作得非常好 :)

我使用的是ConEmu在Windows上,不确定是否有任何区别。


3
在Linux中遇到类似的问题,去掉前缀中的“./”即可解决。 - Daniel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接