batch file - update - Usando Git en el subsistema de Windows para Linux a través de IntelliJ
update project git intellij (5)
Cambia el doble a comillas simples.
Puede iniciar sesión, qué argumentos se alimentan a su archivo bat
@echo off
@echo %*>> %~dp0log.txt
bash.exe -c ''git %*''
Con eso, descubrí que tenía algunos problemas de escape.
FYI: Con los creadores de Win10, la actualización de la canalización y la generación de programas de Windows funciona bien.
Estoy tratando de configurar el ejecutable Git en IntelliJ para que sea el git instalado en el Subsistema de Windows para Linux, lo intenté de varias maneras, pero siempre tuve algún tipo de error. Hoy instalé a Creators Update (versión 1703), reinstalé WSL y lo intenté de nuevo, esto es lo que hice:
He creado un script .bat:
@echo off
C:/Windows/System32/bash.exe -c "git %*"
Así que cuando se ejecuta:
C:/Users/Limon/Desktop>bash.bat --version
git version 2.7.4
Entonces intenté poner este bate en el ejecutable git en IntelliJ:
¡Y funcionó! Pero todo lo demás falla, por ejemplo, cuando trato de jalar o bifurcar en IntelliJ, obtengo:
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.
¿Alguna idea sobre cómo arreglar esto? Realmente no sé nada acerca de scripts por lotes. Funciona perfectamente fuera de línea de comando.
En PhpStorm (2017.2 EAP) me sale un error
Causado por: com.intellij.openapi.vcs.VcsException: ''bash.exe'' no se reconoce como un comando interno o externo, un programa operable o un archivo por lotes.
Para solución cambio la última línea a
If %PROCESSOR_ARCHITECTURE% == x86 (
C:/Windows/sysnative/bash.exe -c ''git %command%''
) Else (
bash.exe -c ''git %command%''
)
En PyCharm 2018.1 obtuve varios errores al intentar resolver Git. Tengo que combinar diferentes enfoques para que funcione. El siguiente código funciona para mí:
@echo off
setlocal enabledelayedexpansion
set command=%*
If %PROCESSOR_ARCHITECTURE% == x86 (
echo | C:/Windows/sysnative/bash.exe -c ''git %command%''
) Else (
echo | bash.exe -c ''git %command%''
)
UPD:
Ahora está disponible la integración con Git dentro de WSL a través de un contenedor WSLGit. Lo he comprobado con PyCharm y funciona como un encanto. Aquí hay un enlace https://github.com/andy-5/wslgit
Estaba buscando una forma de usar git en WSL Windows Subsystem para Linux a través de Webstorm o un software IntelliJ idea.
Probé la solución de KatoPue, pero obtuve el siguiente 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
Lo resolví reemplazando la ruta al enviar el comando al git de WSL
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%''
Para mí esta solución funciona:
Archivo: git.bat
@echo off
setlocal enabledelayedexpansion
set command=%*
If %PROCESSOR_ARCHITECTURE% == x86 (
C:/Windows/sysnative/bash.exe -c ''git %command%''
) Else (
bash.exe -c ''git %command%''
)