如何在Git中更改$ HOME目录

时间:2012-09-15 14:07:54

标签: git unix osx-lion home-directory

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

换句话说,如何将我的全局用户设置保存在像git这样的文件夹中,而不是保存在主用户文件夹中?或者它已经是那样了?我基本上想要为我在Git中使用的所有文件和内容保留一个集中的位置(例如, .gitmessage.txt 文件,如果我没有弄错的话,这不应该被隐藏因为它是TXT文件。)

如果您需要更多信息,请不要犹豫。

3 个答案:

答案 0 :(得分:4)

阅读git config手册,其中说明了GIT_CONFIG环境变量。

答案 1 :(得分:2)

如果你想使用另一个.gitconfig文件,你只能通过更改当前shell及其子项的$HOME变量来实现。

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

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

可以在此git mailing list thread中找到有关忽略原因的详细信息。

通过重新定义HOME变量,可以更改主目录的位置,您可以使用以下(Bash)代码段执行此操作:

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

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

如果您能够应对上述限制,那么这可能是一种可接受的解决方案。

截至2016年9月29日 - 由Junio C Hamano(Git maintainer)提供patch has been submitted,它将允许通过一个新变量覆盖全局/etc/gitconfig文件:GIT_CONFIG_SYSTEM_PATH - 此补丁不是但是如果被接受,那么预计它将在2018/2019年左右进入主流Linux发行版。

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

答案 2 :(得分:0)

好的,这就是我这样做的方式......它非常简单。

<强>首先, git首次加载时输入&#34; cd~&#34; (这会将您带到根目录)

<强>其次, 输入&#34; cd path / path / path&#34; (您想要作为主目录的目录的路径)

<强>第三, 一旦你在你想要的目录... ... 输入&#34;别名home =&#34;路径/路径/路径&#34; (您想要的目录)

现在,每次Git加载时,您只需输入&#34; 主页&#34;,因为这是别名&#34; 主页 &#34;它将进入您要使用的目录的路径。你必须记得键入&#34; cd~&#34;当Git第一次加载到你的根目录...然后这个别名将起作用,否则它将无法识别来自另一个目录的路径。

无论代码问题是什么,这都是最简单,最可靠的方法。只需制作别名,然后&#34; cd~&#34;当Git加载以确保您在根目录中。每次Git加载时,您都会键入&#34; cd~&#34;,然后键入&#34; home&#34;。这是我发现的最简单方法......希望有所帮助。

如果你要在多个目录中工作也很好,因为你可以为每个路径/路径/路径/路径制作不同的别名,它会为你节省时间蹦蹦跳跳,你只需要&#34; cd~&#34;到达root,然后键入您选择的别名。