在git中添加如何逃脱领先" - "文件名中的字符? e.g:
git add -index-apache-.html
给出:
error: unknown switch `d'
谢谢!
PS。
相同git checkout
答案 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}},不能与选项开关混淆。