不可能用特殊字符git rm

时间:2011-10-18 17:17:03

标签: git encoding git-rm

我在我想要删除的git存储库中添加了文件。我用rm XXX删除了它。 现在,git status告诉我:

Changed but not updated:
    deleted:    "Sche\314\201ma application + interface.graffle"

无论我如何git rm,我仍然有:

fatal: pathspec 'Schêma application + interface.graffle' did not match any files

我尝试使用\转义空格,以\转义\\,以"转义\"。无论我怎么做,它都失败了。

你有提示吗?

3 个答案:

答案 0 :(得分:24)

这将检测到删除:

git add -u

答案 1 :(得分:0)

尝试git gui。你可以正确地逃脱它,但它可能比它的价值太麻烦。它应该正确地逃避这一点。

如果您的问题是暂存删除,只需git add -A即可将所有更改添加到索引中。

答案 2 :(得分:0)

用单引号括起来。

 git rm '"Sche\314\201ma application + interface.graffle"'

如果需要在文件名中转义单引号,请用双引号括起来。因此,如果由于某种原因您的文件名是'“(这是单引号,双引号),请使用

git rm "'"'"'

其中第一组双引号包装单引号,单引号的结束集包装双引号。

这一般是针对Bash,而不仅仅是git。更多关于引用疯狂的信息:How to escape single-quotes within single-quoted strings?