在git中转义在文件名中添加一个前导“ - ”?

时间:2014-09-06 18:36:09

标签: git

在git中添加如何逃脱领先" - "文件名中的字符? e.g:

git add -index-apache-.html

给出:

error: unknown switch `d'

谢谢!

PS。

相同
git checkout

2 个答案:

答案 0 :(得分:5)

使用--解决此问题。通过双破折号的任何内容都被视为文件名。

这更像是一个Bash约定而不是Git约定,因为--传统上表示the end of options.

  

--表示选项结束并禁用进一步的选项处理。 --之后的任何参数都被视为文件名和参数。 -的参数等同于--

答案 1 :(得分:1)

作为通用 Exception in thread "JavaFX Application Thread" java.lang.NullPointerException at application.MenuController$1$1.run(MenuController.java:143) at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at com.sun.glass.ui.gtk.GtkApplication.lambda$null$48(GtkApplication.java:139) at java.lang.Thread.run(Thread.java:748) 语法的替代方法,

--

您也可以使用

git add -- -index-apache-.html

这有效,因为参数是文件名。前置git add ./-index-apache-.html 表示“在当前目录中查找此文件”,因此它不会更改文件名的含义(无论如何git都会在其中查找文件名),但这也意味着该参数不再以{{ 1}},不能与选项开关混淆。