0

当我使用

状态

我得到了所有没有被 bing 跟踪的文件和目录的列表

.idea/
src/main/java/edu/mason/insf/ann/annUML.uml
target/

但是,当我尝试结帐到另一个分支时,却告诉我:

error: The following untracked working tree files would be overwritten by checkout:

        target/classes/...

并继续列出我的目标文件夹中的一堆文件(未被跟踪)。

当我尝试删除文件时,请使用任一购买

git rm target/classes/...

或者

git checkout target/classes

我收到以下错误

fatal: pathspec 'target/classes/...' did not match any files.

Git本质上是在告诉我正在跟踪同一个文件而不是同时跟踪。它不会让我从工作树中删除文件,也不会让我切换分支,因为对这个未跟踪文件的更改可能会被覆盖。

有人可以解释发生了什么吗?

4

1 回答 1

2

这些文件不会在您当前已签出的提交中进行跟踪,但在您尝试签出的提交中进行跟踪。Git 不知道您在未跟踪的副本中是否有重要的更改,因此它拒绝使用提交中的副本来破坏它们。

git rm失败,因为它对索引中的跟踪文件进行操作。这些文件未跟踪,因此不在索引中,因此无法对其进行操作。

要解决此问题,请在确认您没有对文件进行任何要保留的更改后,使用rm( not ) 删除文件。 git rm

于 2013-08-05T22:41:27.120 回答