Git在被忽略的目录中看到已更改的文件,但不报告它

时间:2012-09-18 09:25:08

标签: git gitignore

Git不允许我在干净的工作目录中切换分支。相反,它告诉我一个被忽略的文件夹中的文件将被覆盖。

$ git status
# On branch ECP-2229
nothing to commit (working directory clean)

$ git checkout ECP-2243
error: The following untracked working tree files would be overwritten by checkout:
        c.t.e.server.logback/bin/logback.xml
Please move or remove them before you can switch branches.
Aborting

此工作目录中的此文件夹和其他文件夹/文件夹中有数百个文件,所有文件都被忽略。

$ cat .gitignore
bin

我认为该文件已经以某种方式被跟踪并试图删除它,但是

$ git rm c.t.e.server.logback/bin/logback.xml
fatal: pathspec 'c.t.e.server.logback/bin/logback.xml' did not match any files

这个文件出了什么问题,我怎么能说服git说这没关系?

1 个答案:

答案 0 :(得分:3)

由于某些原因,有人跟踪了logback.xml,并且您有此文件的未跟踪版本。所以git警告你,你的未跟踪版本将被checkout覆盖,这很好,即使它在.gitignore(谁知道它不包含值?)。

你没有git rm它因为你没有跟踪,因此git不知道,git rm仅适用于跟踪或暂存的文件。

而只是rm它,你会没事的。