0

如何在Git 的 /etc/profile文件中指定相对路径(特别是调用 git.exe 的父目录的相对路径)?


背景

我非常喜欢让你的开发基础设施尽可能地便携——便携意味着“跨 MS Windows 机器的便携”而不是“跨操作系统的便携”。

此外,我开始喜欢Git和它的 MS Windows 兄弟mysysgit,感谢这篇文章,我还能够更改 Git 的默认HOME( C:/users/<username>) 目录以促进整个事物的真正可移植性(我的开发工具位于闪存驱动器上,因此我的便携式“HOME”目录)。

但是,我还没有完全做到:

  • 假设一个版本的可移植 Git 位于 F:/apps/git/<gitversion>
  • 上述文章建议将HOMEGit 查找的目录直接放在上述目录 ( F:/apps/git/<gitversion>/home) 的下方。
  • 但是,我希望它在F:/apps/git/home
  • 因此我认为这样的事情可能会让我到达那里:HOME="/../home"HOME="../home“,但Git一直抱怨它找不到目录。所以我一定做错了什么;-)
4

1 回答 1

1

在以下代码下方(或在处理的任何代码之后$HOME

if [ ! -d "$HOME" ]; then
    printf "\n\033[31mERROR: HOME directory '$HOME' doesn't exist!\033[m\n\n"
    echo "This is an error which might be related to msysGit issue 108."
    echo "You might want to set the environment variable HOME explicitly."
    printf "\nFalling back to \033[31m/ ($(cd / && pwd -W))\033[m.\n\n"
    HOME=/
fi

指定路径,您需要相对于pwd

# normalize HOME to unix path
# HOME="/Home/Edward" relative to git-bash
HOME="$(pwd -W)/../home"
HOME="$(cd "$HOME" ; pwd)"

您可以cd $HOME在配置文件末尾添加以将工作目录启动到 HOME

于 2013-05-18T04:02:44.123 回答