【问题标题】:Git bash home directory different from Git extension than Git BashGit bash 主目录不同于 Git 扩展而不是 Git Bash
【发布时间】:2012-01-23 12:12:14
【问题描述】:

如果我从 Git 扩展 (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

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

$ echo $HOME
/h

h: 是我的公司主目录

我能做什么?

【问题讨论】:

    标签: git git-extensions


    【解决方案1】:

    its repo中的msysgit提供的git bash是一个可以编辑的脚本,以便将HOME设置为%USERPROFILE%
    它基本上是默认情况下所做的,除非 HOME 已经定义,否则 git bash 脚本不会修改该值(但你可以,如果你编辑所述脚本)。

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


    作为OP Steve B cmets:

    对于 Git bash,HOME 已设置在 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
    

    我删除了第一个候选家庭位置,它有效。

    【讨论】:

    • 你说的脚本在哪里?是的,正如我在问题中所说,H 是网络驱动器。但是,由于我正在使用笔记本电脑,我不想使用网络驱动器,而是使用本地配置文件
    • 哦,我找到了:C:\Program Files (x86)\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。我删除了第一个候选家庭位置,它可以工作。谢谢
    • @SteveB:很好。我已经编辑了答案以使 etc/profile 更明显。
    • 我仍然认为这是一团糟。为什么用户的配置文件目录中没有简单的唯一配置文件?
    • 注意:这些说明不会影响 Git Bash 打开的目录。要更改该目录,我右键单击快捷方式,并将“开始”字段从 $HOMEDRIVE$HOMEPATH 更改为 %USERPROFILE% 。
    猜你喜欢
    • 2013-08-25
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    相关资源
    最近更新 更多