无法删除确实存在的文件-致命:pathspec ...与任何文件都不匹配
我有一个在git控制下的文件,根本不会被删除。失败的命令是:
$ git rm .idea/workspace.xml
fatal: pathspec '.idea/workspace.xml' did not match any files
在下面,我列出了目录的内容,分支等。到目前为止,我已经尝试从目录中访问rm,并转义以防万一有有趣的字符,而我真的很困惑。我搜索了网络和搜索引擎,但找不到具体信息。提前致谢!
$ 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
更新:内维克和鲍里斯的回答很有帮助。我意识到我对正在进行的许多事情感到困惑,其中有些事情因IntelliJ IDEA(我通常喜欢的工具,顺便说一句)而更加恶化。首先,来自git rm的'fatal:pathspec'消息既无益又具有误导性(以这位原始用户的观点)。其次,我在.gitignore中有该文件,但是在询问我的问题之前已将其删除。但是,它也独立于git包含在IDEA的“忽略文件”功能中,并在项目查看器中显示(而不是未跟踪,如git状态所示)。最终,我在进行实验时运行了IDEA,看起来好像在RM之后立即重新创建了文件。因此,我的收获是,如果我感到混乱的Git行为,请确保在调试时退出IDEA并在命令行(和gitk)中单独工作。SO用户真棒。再次感谢!
git clean -f .idea/workspace.xml
用来删除未跟踪的文件。
rm
而不是删除文件git rm
?