58

我正在尝试执行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

在这一点上,我被困住了。在删除文件之前,我无法拉动。但是,它告诉我我无法删除该文件。

我能做些什么来解决这个问题?

4

5 回答 5

115

这是 'git clean' 命令的机会。如果您不关心未跟踪的文件...git clean -n查看将删除的内容,然后git clean -f继续 rm 未跟踪的文件。

在命令中添加 -d 也可以对目录进行操作:

  git clean -dn
  git clean -df
于 2015-05-05T01:10:17.370 回答
23

您在拉取方式中有未跟踪的文件。您无法删除它们,git rm --cached因为它们未被跟踪。它们不会出现在索引中。你需要用普通旧的来删除它们rm

于 2013-05-08T18:34:12.250 回答
5

该文件尚未在当前分支中,因此您无法使用git rm --cache. 只需使用rm.

于 2013-05-08T18:30:57.677 回答
4

我同意其他海报,问题是文件没有被 git 跟踪。该命令git rm适用于被跟踪的文件。rm 将从您的机器中删除该文件。或者,如果方便,您可以将该文件添加到忽略文件或文件类型列表中。您还可以使用其中一种 GUI 工具,例如 tortoise git 来快速删除所有未跟踪的文件。

于 2013-05-08T19:12:24.417 回答
2

正如它在原始错误消息中所说,该文件是untracked。这意味着git对它一无所知。只需使用rm. 如果您关心内容,只需将其移至其他地方即可。

于 2013-05-08T18:34:06.127 回答