Git Can';别胡扯了

Git Can';别胡扯了,git,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删除该文件,这会导致错误:

我正在尝试执行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
fatal:pathspec
不匹配任何文件
在这一点上,我被卡住了。在我取下锉刀之前我不能拔。但是,它告诉我无法删除该文件


如何修复此问题?

该文件还不在当前分支中,因此您无法使用
git rm--cache
将其删除。只需使用原始错误消息中所述的
rm

,该文件未被跟踪。这意味着git对它一无所知。只需使用
rm
将其从文件系统中删除即可。如果您关心内容,只需将其移动到其他地方。

在拉取过程中,您有未跟踪的文件。您无法使用git rm--cached删除它们,因为它们未被跟踪。它们不会出现在索引中。你需要用普通的旧的
rm
删除它们。我同意其他海报,问题是git没有跟踪该文件。命令
git rm
适用于正在跟踪的文件。rm将从您的计算机中删除该文件。或者,您可以将该文件添加到忽略的文件列表中,或者如果方便的话添加到文件类型中。您还可以使用其中一个GUI工具(如tortoise git)快速删除所有未跟踪的文件。

这是使用“git clean”命令的机会如果您不关心未跟踪的文件
git clean-n
查看将删除的内容,以及
git clean-f
继续并删除未跟踪的文件

将-d添加到命令中,以便也对目录进行操作:

  git clean -dn
  git clean -df

如果此文件中有修改,最好只移动当前文件。因此,如果要删除该文件,请使用简单的控制台命令mv移动该文件或rm。它确实帮助了我。:)这当然很有帮助,但是有没有办法让git覆盖这些文件呢?我宁愿保留一些与冲突无关的文件,我不想手动查找有问题的文件来删除它们,以便替换它们。当然应该有一个“强制拉”选项或其他什么?你可能想重置你的分支。我相信其他人可以更清楚地解释这一点,但请考虑<代码> Git重置——硬分支名称>代码>。该命令有多种变体,但这基本上就是您所追求的。一个提示-确保准确指定您所指的分支名称。例如,在提示此问题的情况下,本地分支
X
不同于远程分支
origin/X
,因此该命令可能类似于
git reset--hard origin/my_branch
。这告诉你的本地git索引“放弃所有正在发生的事情,并重置为源代码/my_分支的负责人”。你是个天才。谢谢