Git bash home directory отличается от Git extension чем Git Bash


Если я запускаю Git bash из расширения Git (CTRL+G ), мой домашний каталог - %USERPROFILE%, что нормально.

Если я запускаю Git bash из контекстного меню папки РЕПО git, или если я запускаю Git bash из меню Пуск, Мой домашний каталог-это %HOME%, что отличается.

Как я могу настроить git bash, чтобы всегда использовать %USERPROFILE% в качестве домашнего каталога (у меня есть.ssh папка внутри)?

Если это может помочь, на git bash run from Git Ext, у меня есть:

$ echo $HOME
/c/Users/mylogin

То же самое команда на git bash выполняется напрямую:

$ echo $HOME
/h

h: является ли мой корпоративный домашний каталог

Что я могу сделать ?

1 17

1 ответ:

Git bash снабжен msysgit в его repo - это скрипт, который можно редактировать, чтобы установить HOME в %USERPROFILE%.
Это в основном то, что он делает по умолчанию, за исключением того, что если HOME уже определен, скрипт Git bash не изменит это значение (но вы можете, если отредактируете указанный скрипт).

Я подозреваю, что в вашей корпоративной среде HOME определяется сетевым диском, чтобы для различных конфигурационных файлов (maven, ssh, ...) храниться на удаленном, безопасном и резервный привод.
Это объясняет, почему HOME не изменяется скриптом Git bash.
Расширение Git, очевидно, не так тщательно, как первый скрипт, и изменит/определит любое значение, которое ему нужно.


КакOP Steve B комментарии:

HOME устанавливается, для Git bash, в 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

Я удалил первую кандидатскую домашнюю локацию, и она работает.