我正在尝试 git pull 并收到错误消息:
error: The following untracked working tree files would be overwritten by merge:
<myFileName>
Please move or remove them before you can merge.
因此,我尝试使用 git rm --cache 命令删除该文件,这会导致错误:
fatal: pathspec
<myFileName>
did not match any files
此时我被困住了。在删除文件之前我无法拉动。但是,它告诉我我无法删除该文件。
我该怎么做才能解决这个问题?
答案 0 :(得分:114)
这是'git clean'命令的机会。 如果您不关心未跟踪的文件 ... git clean -n
以查看将删除的内容,并git clean -f
继续执行以及rm未跟踪的文件。
在命令中添加-d以对目录进行操作:
git clean -dn
git clean -df
答案 1 :(得分:22)
你有拉动的未跟踪文件。您无法使用git rm --cached
删除它们,因为它们未跟踪。它们不会出现在索引中。您需要使用普通的rm
答案 2 :(得分:5)
该文件尚未在当前分支中,因此您无法使用git rm --cache
将其删除。只需使用rm
。
答案 3 :(得分:4)
我同意其他海报,问题是该文件没有被git跟踪。命令git rm
适用于被跟踪的文件。 rm将从您的计算机中删除该文件。或者,您可以将文件添加到忽略文件列表或文件类型(如果方便)。您还可以使用其中一个GUI工具(如tortoise git)快速删除所有未跟踪的文件。
答案 4 :(得分:2)
正如原始错误消息中所述,该文件未跟踪。这意味着git
对此一无所知。只需使用rm
将其从文件系统中删除即可。如果您关心内容,只需将其移动到其他地方即可。