无法删除真正存在的文件 - 致命:pathspec ...不匹配任何文件
我有一个在 git 控制下的文件,根本不会被删除。失败的命令是:
$ git rm .idea/workspace.xml
fatal: pathspec '.idea/workspace.xml' did not match any files
下面我列出了目录内容、分支等。到目前为止,我已经从目录中尝试了 rm,并转义以防万一有有趣的字符,我真的很难过。我搜索了网络和 SO,但找不到具体的。
$ git branch -a
* dot-output
master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/modelspace
$
$ git status
# On branch dot-output
# Untracked files:
# ...
$ ls .idea/
ant.xml encodings.xml modules.xml workspace.xml
compiler.xml inspectionProfiles scopes
copyright libraries testrunner.xml
dictionaries misc.xml vcs.xml
$ ls -al
total 56
drwxr-xr-x 16 matt staff 544 Apr 10 11:33 .
drwxr-xr-x@ 33 matt staff 1122 Apr 10 09:40 ..
-rw-r--r--@ 1 matt staff 12292 Apr 10 11:19 .DS_Store
drwxr-xr-x 18 matt staff 612 Apr 10 11:39 .git
-rw-r--r-- 1 matt staff 98 Mar 6 13:40 .gitignore
drwxr-xr-x 16 matt staff 544 Apr 10 11:34 .idea
-rw-r--r-- 1 matt staff 1113 Feb 25 11:07 README
...
$ head -n 2 .idea/workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
$ git rm .idea/workspace.xml
fatal: pathspec '.idea/workspace.xml' did not match any files
更新
@Nevik 和 @Boris 的回答很有帮助。我意识到我对正在发生的许多事情感到困惑,其中一些被 IntelliJ IDEA(我通常喜欢的工具,顺便说一句)加剧了。首先,来自的“致命:pathspec”消息既无用git rm
又具有误导性。
其次,我有该文件.gitignore
,但在问我的问题之前已将其删除。但是,它也独立于 git 包含在 IDEA 的 Ignored Files 功能中,并在项目查看器中显示(而不是未跟踪,如 git status 所示)。最后,我在试验时运行了 IDEA,看起来它在我的rm
.
我的收获是,如果我对 Git 行为感到困惑,请确保退出 IDEA 并在调试时仅在命令行(和 gitk)中工作。