Домашний каталог Git bash отличается от расширения Git чем Git Bash - PullRequest
17 голосов
/ 19 декабря 2011

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

Если я запускаюGit bash из контекстного меню папки git repo или, если я запускаю Git bash из меню «Пуск», мой домашний каталог -% HOME%, который отличается.

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

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

$ echo $HOME
/c/Users/mylogin

Та же командана git bash запустите напрямую:

$ echo $HOME
/h

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

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

1 Ответ

23 голосов
/ 19 декабря 2011

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

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


Как ОП Стив Б комментирует:

Для 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

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

...