Git bash主目录与Git扩展不同于Git bash

Git bash主目录与Git扩展不同于Git bash,git,git-extensions,Git,Git Extensions,如果我从Git扩展(CTRL+G)运行Git bash,我的主目录是%USERPROFILE%,这是正常的 如果从Git repo文件夹的上下文菜单运行Git bash,或者从“开始”菜单运行Git bash,则我的主目录为%home%,这是不同的 如何将git bash设置为始终使用%USERPROFILE%作为主目录(我在其中有.ssh文件夹) 如果有帮助,在git bash上从git Ext运行时,我有: $ echo $HOME /c/Users/mylogin git bash上的同

如果我从Git扩展(CTRL+G)运行Git bash,我的主目录是%USERPROFILE%,这是正常的

如果从Git repo文件夹的上下文菜单运行Git bash,或者从“开始”菜单运行Git bash,则我的主目录为%home%,这是不同的

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

如果有帮助,在git bash上从git Ext运行时,我有:

$ echo $HOME
/c/Users/mylogin
git bash上的同一命令直接运行:

$ echo $HOME
/h
h:
是我的公司主目录


我能做什么?

中提供的git bash是一个可以编辑的脚本,以便将
HOME
设置为
%USERPROFILE%

它基本上是默认情况下所做的,除非已经定义了
HOME
,否则git bash脚本不会修改该值(但如果编辑所述脚本,则可以修改)

我怀疑,在您的公司环境中,
HOME
被定义为网络驱动器,以便将各种配置文件(maven、ssh等)存储在远程、安全和备份驱动器上。
这就解释了为什么Git bash脚本不会更改
HOME

Git扩展显然没有第一个脚本那么小心,它将更改/定义它需要的任何值


评论如下:

对于Git bash,
HOME
设置在:

我删除了第一个候选的主位置,它起作用了


你说的剧本在哪里?是的,H是一个网络驱动器,正如我在问题中所说的。但是,当我在笔记本电脑上工作时,我不想使用网络驱动器,但我找到了本地配置文件:
C:\ProgramFiles(x86)\Git\etc\profile
。有以下代码:
#如果[-z“$home”-o!-d“$home”],则设置用户的主目录;然后HOME=“$HOMEDRIVE$HOMEPATH”如果[-z“$HOME”-o!-d“$HOME”];然后HOME=“$USERPROFILE”fi-fi
。我删除了第一个候选的主位置,它起作用了。thanks@SteveB:接得好。我对答案进行了编辑,以使
etc/profile
更清晰可见。我仍然认为这是一团混乱。为什么用户的概要文件目录中没有简单的唯一配置文件?注意:这些说明不会影响Git Bash打开的目录。要更改该目录,我右键单击了快捷方式,并将“起始位置”字段从$HOMEDRIVE$HOMEPATH更改为%USERPROFILE%。
# 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