我创建了一个名为“:w”的文件,原因不明。我无法使用“git rm”删除此文件。现在我想知道如何在分支中删除这个文件。
答案 0 :(得分:4)
尝试转义文件名,它应该可以正常工作。
git rm '\:w'
或删除文件系统中的文件并提交
rm ./?w
git commit -v -a
答案 1 :(得分:1)
:,例如 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
它会起作用