2

我想知道,因为我一直在寻找如何做到这一点,至少在这个社区中。想知道如何在 Git 中更改 Mac OS X Lion 中的 $HOME 目录。

换句话说,我如何才能让我的全局用户设置保存在 git 之类的文件夹中,而不是在主用户文件夹中?还是已经这样了?我基本上想为我在 Git 中使用的所有文件和东西保留一个集中的位置(例如,一个.gitmessage.txt文件,如果我没记错的话,它不应该被隐藏,因为它是一个 TXT 文件)。

如果您需要更多信息,请随时询问。

4

3 回答 3

4

阅读git config手册,它说的是GIT_CONFIG环境变量。

于 2012-09-15T15:00:53.500 回答
2

如果您想使用替代.gitconfig文件,您只能通过更改$HOME当前 shell 及其子 shell 的变量来实现。

与其他回复所表明的相反 - Git 将始终读取位于的文件$HOME/.gitconfig- 无论您如何设置GIT_CONFIG

该文档自 2011 年以来一直不正确,并且仍然不正确,GIT_CONFIG因此被忽略。

更多关于它为什么被忽略的细节可以在这个git 邮件列表线程中找到。

可以通过重新定义变量来更改主目录的位置HOME,您可以使用以下 (Bash) 片段来实现:

export HOME=<directory containing your alternate .gitconfig file)

这样做不会完全无痛,各种事情都会搞砸,比如shell初始化文件、编辑器配置和历史文件、shell历史文件等等。

如果您可以应对上述限制,那可能是一个可以接受的解决方案。

截至 2016 年 9 月 29 日 - Junio C Hamano(Git 维护者)提交了一个补丁/etc/gitconfig,该补丁将允许通过一个新变量覆盖全局文件: GIT_CONFIG_SYSTEM_PATH- 此补丁尚未集成到 git 版本中,预计它将进入主流 Linux 发行版如果被接受,大约在 2018/2019 年左右。

我发现在 docker 容器中构建软件并提供.gitconfig文件是一种运行良好的方法(在没有更好的解决方案的情况下),但这可能不符合每个人的口味,并且可能比必要的复杂。

于 2016-10-26T17:28:53.790 回答
0

好的,这就是我如何做到这一点......这很简单。

首先,在 git 首次加载时 键入“cd ~” (这会将您带到根目录)

其次, 键入“cd path/path/path”(您想要作为主目录的目录的路径)

第三, 一旦你在你想要的目录中......
输入“alias home="path/path/path"(你想要的目录)

现在,每次 Git 加载时,您所要做的就是输入“ home ”,因为这是别名“ home ”,它将输入您想要使用的目录的路径。您必须记住在 Git 首次加载时键入“cd ~”以将您带到根目录...然后此别名将起作用,否则它将无法识别来自另一个目录的路径。

无论代码问题是否存在,这是最简单且最可靠的方法。只需创建别名,然后在 Git 加载时“cd ~”以确保您位于根目录中。每次 Git 加载时,您将输入“cd ~”,然后输入“home”。这是我发现的最简单的方法......希望有帮助。

如果您要在多个目录中工作,这也很好,因为您可以为每个路径/路径/路径/路径创建不同的别名,这样可以节省时间,您只需要“cd ~ " 进入根目录,然后键入您选择的别名。

于 2017-01-20T21:26:44.847 回答