mobaxterm调整了一次基础配置以后,使用 git log和git diff 总是报错:
/bin/busybox.exe less -R: /bin/busybox.exe: No such file or directory
于是定义如下别名
alias gitdebug='GIT_TRACE=2 GIT_CURL_VERBOSE=2 GIT_TRACE_PERFORMANCE=2 GIT_TRACE_PACK_ACCESS=2 GIT_TRACE_PACKET=2 GIT_TRACE_PACKFILE=2 GIT_TRACE_SETUP=2 GIT_TRACE_SHALLOW=2'
运行 gitdebug git log , 发现最后一句调用的是内部trace: run_command: '/bin/busybox.exe less -R',所以意识到git问题和git.exe本身有关,那么推测PATH配置有关。
everything 搜索所有的 git .exe , 对比 .bashrc 中 PATH的设置,发现使用了带有图标的git.exe,于是设置PATH使用 $gitpath/mingw64/bin 下的最新,size最大的 git.exe,打开新的终端标签页,git log ,git diff OK 了!
如下为环境变量设置:
gitpathreal='/c/Program Files/Git'
mklink /J /D c:\Git "C:\Program Files\Git"
gitpath='/c/Git'