无法删除真正存在的文件 – fatal:pathspec …没有匹配任何文件

无法删除真正存在的文件 – fatal:pathspec …没有匹配任何文件

我有一个git控制下的文件,根本不会被删除。 失败的命令是:

$ git rm .idea/workspace.xml fatal: pathspec '.idea/workspace.xml' did not match any files 

下面我列出了目录内容,分支等。到目前为止,我已经从目录中尝试rm,并逃脱,以防万一有趣的人物,我真的难倒。 我search了网页,但没有具体的find这个。 提前致谢!

 $ 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和鲍里斯的答案帮了很多。 我意识到,我被很多事情搞糊涂了,其中一些被IntelliJ IDEA(我一般喜欢的工具)加剧了。 首先,来自git rm的'致命:pathspec'信息既无益又令人误解(在这个香草用户看来)。 其次,我在.gitignore中有这个文件,但是在提出我的问题之前已经删除了它。 然而,它也包含在独立于git的IDEA忽略文件function中,并在项目查看器中显示(而不是未跟踪,因为git状态显示)。 最后,我在试验时运行了IDEA,看起来它是在我的RM之后立即重新创build文件。 所以,我的结论是,如果我混淆了Git行为,请确保在debugging时退出IDEA并在命令行(和gitk)中工作。 而那个用户真棒。 再次感谢!

您的文件.idea/workspace.xml不在git版本控制之下。 你还没有添加它(检查git status / Untracked files)或忽略它(使用.gitignore或.git / info / exclude文件)

你可以使用下面的git命令validation它,列出所有被忽略的文件:

 git ls-files --others -i --exclude-standard 
 $>git add . $>git rm file_Name 

有用。 您可以使用右键单击添加新文件 – >创build新文件,然后立即删除它。 该文件将转到未跟踪的文件列表。

如果您的文件idea/workspace.xml被添加到.gitignore(或其父文件夹),只需手动add到git版本控制。 你也可以使用TortoiseGit来添加它。 在下一个推动你会看到,你的问题解决了。

使用TortoiseGit添加到git版本

将.gitignore临时移动到.gitignore.bck