我正在使用 Windows(msysgit)上的 git 1.9.0,我有以下别名:
ignore = "!f() { echo $1 >> \"${GIT_PREFIX}.gitignore\"; }; f"
我这样使用它:
$ git ignore /Directory/Subdir/
这应该追加到当前目录下的
.gitignore
文件中,如果该文件不存在则创建它。但由于某些原因,我传入的路径被转换为绝对路径,我不确定为什么。下面是追加到.gitignore
文件中的内容:C:/Program Files (x86)/Git/Docs/Doxygen/html/
这是发生的任何原因吗?
编辑
如果我只是像这样使用命令:
$ git ignore Docs/Doxygen/html
它不会转换路径。因此,在参数传递到别名之前,看起来开头的斜杠在shell中引起了一些问题。将其置于引号中也无法解决。我很困惑!
编辑#2
尝试了这个:
$ git ignore \/Docs/Doxygen/html/
C:/Program Files (x86)/Git/Docs/Doxygen/html/
在斜杠前加反斜杠也不能解决这个问题。
第三次编辑
我认为这是msysgit的一个bug。我在cygwin中做了同样的事情,看看会发生什么:
$ git ignore /Docs/Doxygen/html/
/Docs/Doxygen/html/
不开心
git ignore '/Docs/Doxygen/html'
? - Sailesh>
而不是>>
来进行追加而不是覆盖,对吗? - jimbrig>>
是追加操作,而>
是覆盖操作。 - void.pointer