當一個窗口內工作命令提示符下,我所有的路徑表明主任分離用反斜槓\
,使用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以「/」分隔的文件路徑 –