当一个窗口内工作命令提示符下,我所有的路径表明主任分离用反斜杠\
,使用Git命令时,所有的路径都而不使用forwardslash /
。如何更改GIT的输出以镜像我的命令行输出?如何更改git目录分隔符?
实施例不一致目录指标;
D:\git\demo>git status --s
A test/subdir/foo.txt
当一个窗口内工作命令提示符下,我所有的路径表明主任分离用反斜杠\
,使用Git命令时,所有的路径都而不使用forwardslash /
。如何更改GIT的输出以镜像我的命令行输出?如何更改git目录分隔符?
实施例不一致目录指标;
D:\git\demo>git status --s
A test/subdir/foo.txt
如何更改GIT的输出,以反映我的命令行输出?
首先,所有的git命令在git bash
子壳,这也解释了为什么你看到“/
”执行。 A“\
”是一个bash会话,这就是为什么它不以任何bash命令输出使用转义字符。
您需要使用git wrapper(在PATH中设置git.pat),以便用\
替换/
。
git.bat
:
C:\prgs\git\latest\bin\git.exe %*|C:\prgs\git\latest\usr\bin\sed.exe -e 's:/:\\\\:'
确保git.bat
在您%PATH%
git.exe
前设置:类型where git
,以检查那些混帐(S)被发现的顺序。
而更换C:\prgs\git\latest
通过安装在您的Git的路径。
通过指定git.exe
和sed.exe
的完整路径,您一定会使用正确的可执行文件。
只是挑剔,我不相信git在bash中运行的所有内容 - 只是git.exe是针对mingw构建的。 –
着色失败了,因为它只是一个正则表达式,它匹配非路径元素输出中的任何'/':( –
@PeterNied是的,这是一个解决方法:Git仍然是它的核心Linux工具 – VonC
既然你要找什么似乎是没有具体“我怎么做的Git使用文件路径\
”,而是“我怎么做的Git生成\
文件路径”,可以通过管道通过sed
输出(被包装在Git中的Bash),像这样:
$ git status --s | sed 's/\//\\/g'
M dir\file.py
?? dir\input001.txt
?? dir\output001.txt
,并避免打字每一次sed
您可以配置一个Git别名来为你做它:
[alias]
ws = "!ws() { : git status ; git status --short [email protected] | sed 's/\\//\\\\/g' ; } && ws"
这将令y OU做到这一点:
$ git ws
M dir\file.py
?? dir\input001.txt
?? dir\output001.txt
添加的git的\ usr \ BIN中的工具,是我路上和周围使用这些命令行是工作,但我仍然会碰到问题,当我试图通过命令行复制路径到其他Windows应用程序的打开文件对话框中。 –
你为什么需要改变它? git bash是unix,而cmd是windows。 – CodeWizard
窗口的命令,如擦除或命令rmdir以“/”分隔的文件路径 –