Windowsのコマンドプロンプト内で作業しているときに、すべてのパスがディレクタの区切り文字としてバックスラッシュ\
を示しています.GITコマンドを使用すると、すべてのパスが代わりに前方スラッシュ/
です。 GITの出力をコマンドライン出力を反映するように変更するにはどうすればよいですか?gitディレクトリの区切り文字を変更するには?
一貫性のないディレクトリインジケータの例。
D:\git\demo>git status --s
A test/subdir/foo.txt
Windowsのコマンドプロンプト内で作業しているときに、すべてのパスがディレクタの区切り文字としてバックスラッシュ\
を示しています.GITコマンドを使用すると、すべてのパスが代わりに前方スラッシュ/
です。 GITの出力をコマンドライン出力を反映するように変更するにはどうすればよいですか?gitディレクトリの区切り文字を変更するには?
一貫性のないディレクトリインジケータの例。
D:\git\demo>git status --s
A test/subdir/foo.txt
どのように私は、コマンドライン出力をミラーリングするGITの出力を変更できますか?
まず、すべてのgitコマンドを使用すると、「/
」を参照して理由を説明git bash
サブシェルで実行されます。 '\
'はbashセッションのエスケープ文字です。そのため、bashコマンドの出力では使用されません。
/
を\
に置き換えるには、gitラッパー(PATHにgit.patを設定)を使用する必要があります。
git.bat
where git
:
C:\prgs\git\latest\bin\git.exe %*|C:\prgs\git\latest\usr\bin\sed.exe -e 's:/:\\\\:'
git.bat
があなたの%PATH%
にgit.exe
前に設定されていることを確認します。
GitがインストールされているパスでC:\prgs\git\latest
を置き換えてください。
git.exe
のフルパスとsed.exe
のフルパスを指定すると、正しい実行可能ファイルを使用することができます。
ちょうどニックピックに、私はgitがbashですべてを実行するとは思わない - それはちょうどgit.exeがmingwに対して構築されていることです。 –
配色は失われており、それは単なる正規表現なので、非パス要素の出力の '/'にマッチします:( –
@PeterNiedはい、回避策です:GitはLinuxツールのコアに残ります – VonC
あなたが探しているものを「どのように私はGitはファイルパスで\
を使用しますか」ではなく、むしろ「どのように私はGitは\
でファイルパスを生成させるか」、あなたはsed
てパイプの出力をすることができない特別のようですので、 (Gitのバッシュにパッケージ化されている)ので、のような:
$ 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"
を
$ git ws
M dir\file.py
?? dir\input001.txt
?? dir\output001.txt
git \ usr \ bin内のツールを自分のパスに追加してコマンドラインから使用すると回避できますが、コマンドラインからパスをコピーしようとすると問題が発生します他のウィンドウのアプリケーションの開いているファイルのダイアログに。 –
なぜそれを変更する必要がありますか? git bashはunixであり、cmdはwindowsです。 – CodeWizard
eraseやrmdirなどのウィンドウコマンドは、区切られたファイルパス '/'では機能しません。 –