Solución:
Hice una nueva instalación de git con la versión 2.24.0.windows.2
con opciones similares a las mencionadas en la pregunta.
Corrí el which
comando en git-bash para obtener la ruta desde donde se ejecuta git-gui.
$ which -a git-gui
/cmd/git-gui
Comprobar si /cmd
hay en tu PATH
utilizando echo $PATH
en git bash o comprobar si C:/Git/cmd
hay en tu PATH
utilizando echo %PATH%
en Windows cmd. Si no es así, puede agregarlo a su PATH
variable (ya sea cmd de Windows o git-bash).
Si el which
El comando produce múltiples rutas, verifique si /cmd/git-gui
se ejecuta bien desde git bash y elimina las otras rutas (¡precaución! se refiere a múltiples rutas encontradas para git-gui
) desde el PATH
variable.
Sin embargo, obtengo el mismo error cuando supongo que /cmd
no esta en mi camino
# Simulate an empty PATH variable
$ export PATH=:
# Run git-gui from git-core directory
$ C:/Git/mingw64/libexec/git-core/git-gui
C:/Git/mingw64/libexec/git-core/git-gui: line 3: exec: wish: not found
Otro caso donde existen múltiples rutas para git-gui:
# Simulate PATH variable with the following directories
$ export PATH=/usr/bin:/mingw64/libexec/git-core/:/cmd
# Run git-gui
$ git-gui
/mingw64/libexec/git-core/git-gui: line 3: exec: wish: not found
# Lists the paths
$ which -a git-gui
/mingw64/libexec/git-core/git-gui
/cmd/git-gui
Nota:
which
El comando se puede utilizar para Write the full path of COMMAND(s) to standard output.
y el argumento
-a
se usa para Print all matches in PATH, not just the first
Encontré un problema cerrado en git para el repositorio de GitHub de Windows. Parece no estar relacionado a primera vista, sin embargo, al ver el mensaje de confirmación de la corrección, proporciona algunos antecedentes sobre por qué podría estar enfrentando el error.
git-gui (Windows): use git-gui.exe en
Create Desktop Shortcut
Al llamar
Repository>Create Desktop Shortcut
, Git GUI asume que está bien llamarwish.exe
directamente en Windows. Sin embargo, en el contexto de Git para Windows 2.x, eso deja varias variables de entorno cruciales sin inicializar, resultando en un atajo que no funciona.Para solucionar esos problemas de variables de entorno, Git para Windows viene con un conveniente
git-gui.exe
, así que usémoslo cuando esté disponible.Esto corrige # 448
Firmado por: Johannes Schindelin
Como se destaca en el mensaje de confirmación anterior, el autor señala claramente el uso git-gui.exe
ubicado en el /cmd
directorio.
Como nota final, sugeriría OP que:
- Cheque
PATH
variable de Windows cmd y git-bash para directorios en conflicto que contienengit-gui
utilizandowhere
ywhich
comandos respectivamente (Cmd de WindowsPATH
env se pasa a git-bash) - Simular un vacío
PATH
variable como he mostrado arriba y agrego solo/cmd
alPATH
variable de git-bash y luego verifique si puede ejecutargit-gui
de git-bash - Confirmar si
git-gui
se ejecuta en Windows cmd - Verifique si está agregando el directorio a la variable env
PATH
correctamenteWindows cmd y git bash) - Intenta correr
git-gui
ygit gui
, ¿ambos comandos en git-bash dan el mismo error?
He estado usando git y el comando git gui en Windows durante aproximadamente 2 años sin problemas. Recientemente, instalé ubuntu en Windows 10 y habilité el subsistema de Windows para linx (wsl) e instalé git en ubuntu bash, pensando que ejecutaría el comando git desde allí. Desde entonces, git está bastante roto cuando uso git bash como parte de git para Windows.
Para reproducir esto, yo
- Configurar una máquina virtual con Windows 10 (compilación 1909, Single Language Home Edition)
-
Instalar git para la versión de Windows
2.24.0.windows.2
- Ubicación de instalación de Git:
C:Git
- Opciones similares a las que menciona en la pregunta, excepto el editor
Observaciones-
C:Gitcmd
se agrega a laPATH
variable de entorno de Windows cmd (y por lo tanto git-bash también)
-
- Opciones similares a las que menciona en la pregunta, excepto el editor
- Ambos comandos
git-gui
ygit gui
trabajar desde git-bash
- Ubicación de instalación de Git:
-
Activar la función de Windows
Windows Subsystem for linux
porBash on Ubuntu Windows
- Instale la aplicación Ubuntu desde la tienda de Microsoft (Ubuntu 18.04) (git estaba preinstalado)
- Actualiza git a la última versión usando esto
- git funciona tanto para bash como para windows que se ejecutan en
2.24.0
y2.24.0.windows.2
respectivamente - Ambos comandos
git gui
ygit-gui
funciona como se esperaba de git-bash - Desinstaló ubuntu para bash y desactivó wsl, y todavía funciona
Se puede realizar una mayor depuración utilizando las variables de entorno de git.
GIT_EXEC_PATH
determina dónde busca Git sus subprogramas (como git-commit, git-diff y otros). Puede verificar la configuración actual ejecutando git –exec-path.
- Ejecuta este comando
git --exec-path
en git-bash y verifique si muestra:C:/Git/mingw64/libexec/git-core
GIT_TRACE
controla las trazas generales, que no encajan en ninguna categoría específica. Esto incluye la expansión de alias y la delegación a otros subprogramas.
- Ejecuta este comando
GIT_TRACE=1 git gui
y mostrar la salida (que incluye el directorio exec resuelto paragit-gui
)
GIT_CONFIG_NOSYSTEM, si se establece, deshabilita el uso del archivo de configuración de todo el sistema. Esto es útil si la configuración de su sistema está interfiriendo con sus comandos, pero no tiene acceso para cambiarla o eliminarla.
- Intenta ejecutar este comando
GIT_CONFIG_NOSYSTEM=1 git gui
Puede abrir un nuevo problema aquí, si nada más funciona.