2017-06-08 15 views
5

複数のGitインストールを避けるため、Git for Windowsの代わりにVSCodeを使ってWSL(Bash on Windows)Gitを使いたいです。VSCode:Git for Windowsの代わりにWSL Gitを使用する

WSLでgitコマンドをリダイレクトしてgit.exe comportmentをエミュレートする簡単なbatスクリプトを作成しました。 CMDではうまく動作しますが、VSCodeではうまく動作しません。また、WSLはVSCodeの私のデフォルト端末です。

VSCode settings.json

{ 
    "git.path": "D:\\tools\\git.bat", 
    "terminal.integrated.shell.windows": "C:\\Windows\\Sysnative\\bash.exe" 
} 

git.bat

@echo off 
bash -c 'git %*' 

任意のアイデアは、WSLのGitの作業VSCodeを作るには?

+0

私にとって奇妙なことは、このアプローチはルビー、Rubocop、および私が試した他のすべての実行可能ファイルで動作することです。私はなぜそれがgitのために動作しないのか分からない。 –

答えて

5

私は自分自身のためにこれを解決するための小さなツールを作成し、hosted it on GitHub

基本的なgitの機能は、変更の表示やコミットのように機能しているようです。

すぐに使用できるバイナリをfrom the Releases pageからダウンロードできます。

入力パスがWindowsの表現(C:\Foo\Bar)からWSLのLinuxパス(/mnt/c/Foo/Bar)に変換され、gitの出力のパスに再度入力する必要があるという問題があります。例えば、VSCodeでのGitのプラグインは、gitリポジトリのルートディレクトリを見つけるために、コマンド

git rev-parse --show-toplevel 

を使用しますが、WSLのgitのではもちろん、これはVSCode用に変換する必要があり、Linuxのパスを返します。 Windowsの場合

+0

ありがとう、あなたのexeは完全に動作します! 私はパスの問題については考えていませんでした。私はスクリプトでこの問題を解決し、時間があるときにここに解決策を掲載しようとします。 –

0

はbashの幹部のための完全なパスを提供します

git.bat

​​
+0

この解決方法は何も変わりません。 –

関連する問題