Using Git in Windows Subsystem for Linux through IntelliJ

Limon picture Limon · Apr 27, 2017 · Viewed 13.1k times · Source

I'm trying to set Git executable in IntelliJ to be the git installed in Windows Subsystem for Linux, I tried a few different ways, but always got some sort of error. Today I installed to Creators Update (Version 1703), reinstalled WSL and tried again, here's what I did:

I created a .bat script:

@echo off
C:\Windows\System32\bash.exe -c "git %*"

So when running it:

C:\Users\Limon\Desktop>bash.bat --version
git version 2.7.4

So then I tried to set this bat at the git executable in IntelliJ: Setting Git executable in IntelliJ

And it worked! But everything else fails, for example when I try to pull or branch in IntelliJ, I get:

Couldn't check the working tree for unmerged files because of an error.
'C:\Windows\System32\bash.exe' is not recognized as an internal or external command,
operable program or batch file.

Any ideas on how fix this? I don't really know anything about batch scripting. It works perfectly off command line.

Answer

Elies Lou picture Elies Lou · May 9, 2017

I was looking for a way to use git on WSL Windows Subsystem for Linux through Webstorm or an IntelliJ idea software.

I tried KatoPue's solution, but I got the following error:

fatal: could not read log file 'C:/Program Files/Git/mnt/c/Users/Elies/AppData/Local/Temp/git-commit-msg-.txt': No such file or directory

I solved it by replacing the path when sending the command to WSL's git

Settings > Version Control > Git > Path to Git executable : path_to_wslgit.bat

wslgit.bat :

@echo off
setlocal enabledelayedexpansion
set command=%*
set find=C:\Users\%USERNAME%\AppData\Local\Temp\git-commit-msg-.txt
set replace=/mnt/c/Users/%USERNAME%/AppData/Local/Temp/git-commit-msg-.txt
call set command=%%command:!find!=!replace!%%
echo | C:\Windows\Sysnative\bash.exe -c 'git %command%'