【发布时间】:2013-04-10 16:19:44
【问题描述】:
无法删除真正存在的文件 - 致命: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
更新
@Nevik 和@Boris 的回答很有帮助。我意识到我对正在发生的许多事情感到困惑,其中一些被 IntelliJ IDEA(我通常喜欢的工具,顺便说一句)加剧了。首先,来自git rm 的“致命:pathspec”消息既无用又具有误导性。
其次,我在.gitignore 中有该文件,但在问我问题之前已将其删除。但是,它也独立于 git 包含在 IDEA 的 Ignored Files 功能中,并在项目查看器中显示(而不是未跟踪,如 git status 所示)。最后,我在试验时运行了 IDEA,看起来它正在我的rm 之后立即重新创建文件。
我的收获是,如果我对 Git 行为感到困惑,请确保退出 IDEA 并在调试时仅在命令行(和 gitk)中工作。
【问题讨论】:
-
你试过用
rm而不是git rm简单地删除文件吗? -
@NevikRehnel 是的,我曾想过尝试一下,谢谢,但看起来 IntelliJ IDEA(我运行过的)在每次删除后都会复苏。哇!
-
我正在使用 Eclipse 和 Attlassian SourceTree...您的问题帮助我解决了这个问题。谢谢!
-
您可以使用
git clean -f .idea/workspace.xml删除未跟踪的文件。
标签: git intellij-idea