不能做一个git拉

时间:2013-05-08 18:28:40

标签: git

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

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

我该怎么做才能解决这个问题?

5 个答案:

答案 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将其从文件系统中删除即可。如果您关心内容,只需将其移动到其他地方即可。