如何在git中删除前缀为“:”的文件

时间:2014-04-04 08:09:17

标签: git

我创建了一个名为“:w”的文件,原因不明。我无法使用“git rm”删除此文件。现在我想知道如何在分支中删除这个文件。

3 个答案:

答案 0 :(得分:4)

尝试转义文件名,它应该可以正常工作。

git rm  '\:w'

或删除文件系统中的文件并提交

rm ./?w
git commit -v -a

答案 1 :(得分:1)

来自gitrevisions(7)

  

,例如 HEAD:README :README master:./ README

     
    

后缀:后跟一个路径,命名在冒号前的部分命名的树形对象中给定路径上的blob或树。 :path(在冒号前面有一个空部分)是下面描述的语法的特例:在给定路径的索引中记录的内容。一个     以./../开头的路径相对于当前工作目录。给定路径将转换为相对于工作树的根目录。这对于从与工作树具有相同树结构的提交或树中寻址blob或树非常有用。

  

因此,结肠被视为特殊字符,不按字面处理。

尝试使用./为路径添加前缀。

$ ls
:w
$ git rm :w
fatal: pathspec ':w' did not match any files
$ git rm ./:w
rm ':w'

答案 2 :(得分:0)

我刚刚测试了它,如果你做了

$ git rm ./:w

它会起作用