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说这没关系?
答案 0 :(得分:3)
由于某些原因,有人跟踪了logback.xml
,并且您有此文件的未跟踪版本。所以git警告你,你的未跟踪版本将被checkout覆盖,这很好,即使它在.gitignore
(谁知道它不包含值?)。
你没有git rm
它因为你没有跟踪,因此git不知道,git rm
仅适用于跟踪或暂存的文件。
而只是rm
它,你会没事的。