web-dev-qa-db-ja.com

GitBashとは異なるGit拡張機能のGitbashホームディレクトリ

GitExtentionからGitbashを実行した場合(CTRL+G)、私のホームディレクトリは%USERPROFILE%です。これは問題ありません。

GitリポジトリフォルダーのコンテキストメニューからGitbashを実行する場合、またはスタートメニューからGit bashを実行する場合、ホームディレクトリは%HOME%であり、これは異なります。

常に%USERPROFILE%をホームディレクトリとして使用するようにgit bashを設定するにはどうすればよいですか(.sshフォルダーがあります)。

それが役立つ場合は、GitExtから実行されるgitbashで、次のようになります。

$ echo $HOME
/c/Users/mylogin

Git bashで同じコマンドを直接実行します:

$ echo $HOME
/h

h:は私の会社のホームディレクトリです

私に何ができる ?

18
Steve B

msysgit in its repo で提供されるgit bashは、HOME%USERPROFILE%に設定するために編集できるスクリプトです。
これは基本的にデフォルトで行われることですが、HOMEがすでに定義されている場合、git bashスクリプトはその値を変更しません(ただし、スクリプトを編集すれば変更できます)。

企業環境では、さまざまな構成ファイル(maven、ssh、...)をリモートの安全なバックアップドライブに保存するために、HOMEがネットワークドライブに定義されていると思われます。 。
それは、HOMEがGit bashスクリプトによって変更されない理由を説明します。
Git Extensionは明らかに最初のスクリプトほど注意深くはなく、必要な値を変更/定義します。


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

最初の候補者の自宅の場所を削除しましたが、機能します。

23
VonC