Git bash主目录不同于Git扩展而不是Git Bash

Ste*_*e B 17 git git-extensions

如果我从Git Extention(CTRL+ G)运行Git bash ,我的主目录是%USERPROFILE%,这没关系.

如果我从git repo文件夹的上下文菜单中运行Git bash,或者如果我从开始菜单运行Git bash,我的主目录是%HOME%,这是不同的.

如何设置git bash以始终使用%USERPROFILE%作为主目录(我有.ssh文件夹)?

如果它可以帮助,从Git Ext运行git bash,我有:

$ echo $HOME
/c/Users/mylogin
Run Code Online (Sandbox Code Playgroud)

git bash上的相同命令直接运行:

$ echo $HOME
/h
Run Code Online (Sandbox Code Playgroud)

h: 是我的公司主目录

我能做什么 ?

Von*_*onC 23

其repo中msysgit提供的git bash 是一个可以编辑的脚本,以便设置为. 它基本上是它默认执行的操作,除非已定义,git bash脚本不会修改该值(但是,如果编辑所述脚本,则可以).HOME%USERPROFILE%
HOME

我怀疑,在您的公司环境中,HOME定义为网络驱动器,以便将各种配置文件(maven,ssh,...)存储在远程,安全和备份的驱动器上.
这可以解释为什么HOME被Git的bash脚本改变.
Git扩展显然不像第一个脚本那样谨慎,并且会更改/定义它需要的任何值.


正如OP史蒂夫B评论:

HOME被设定为Git的庆典,在etc/profile:

# Set up USER's home directory
if [ -z "$HOME" -o ! -d "$HOME" ]; then
  HOME="$HOMEDRIVE$HOMEPATH"
  if [ -z "$HOME" -o ! -d "$HOME" ]; then
    HOME="$USERPROFILE"
  fi
fi
Run Code Online (Sandbox Code Playgroud)

我删除了第一个候选家庭位置,它的工作原理.

  • 注意:这些说明不会影响Git Bash打开的目录.要更改该目录,我右键单击快捷方式,并将$ HOMEDRIVE $ HOMEPATH中的'Start in'字段更改为%USERPROFILE%. (4认同)
  • 哦,我发现它:`C:\ Program Files(x86)\ Git\etc\profile`.有以下代码:`#设置USER的主目录,如果[-z"$ HOME"-o!-d"$ HOME"]; 然后HOME ="$ HOMEDRIVE $ HOMEPATH"如果[-z"$ HOME"-o!-d"$ HOME"]; 然后HOME ="$ USERPROFILE"fi fi`.我删除了第一个候选家庭位置,它的工作原理.谢谢 (2认同)