如何在Git中更改$HOME目录

3

我想知道,因为我已经在社区里找了很长时间了,如何在Mac OS X Lion中,在Git中更改$HOME目录。

换句话说,我该如何使我的全局用户设置保存在像git这样的文件夹中,而不是直接保存在主用户文件夹中?或者它已经是这样了吗?我基本上想保持一个集中的地方来存放所有我在Git中使用的文件和东西(例如,.gitmessage.txt文件,如果我没记错的话,这应该不会被隐藏,因为它是一个TXT文件)。

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


你不应该去改变 $HOME,它定义了你的主目录,基本上影响整个操作系统。 - tripleee
1
任何以 . 开头的文件在类 UNIX 操作系统中都将被隐藏,扩展名并不重要。 - djs
@djs 谢谢你!我不知道这个,因为我还没有进入Unix系统,但是我想准备好它到来的时候。 - greduan
3个回答

4

请阅读git config手册,其中提到了GIT_CONFIG环境变量。


3
如果您想使用替代的.gitconfig文件,只能通过更改当前shell及其子项的$HOME变量来实现。
与其他回复所示的相反 - 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维护者)已经提交了一个补丁,允许通过新变量GIT_CONFIG_SYSTEM_PATH覆盖全局的/etc/gitconfig文件。该补丁尚未集成到git版本中,如果被接受,预计将在2018/2019年左右进入主流Linux发行版。
我发现在docker容器中构建软件并提供.gitconfig文件是一种相当好的方法(在没有更好的解决方案的情况下),但这可能并不适合每个人,并且可能比必要的复杂。

0

好的,这是我如何做到的...非常简单。

首先,当Git第一次加载时,请键入"cd ~"(这将带您进入根目录)

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

第三,一旦您在所需目录中...
键入"alias home="path/path/path""(您想要的目录)

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

这是最简单和确保实现的方法,无论代码问题如何。只需创建别名,然后在Git加载时键入"cd ~"以确保您在根目录中。每次Git加载时,您将键入"cd ~",然后键入"home"。那是我发现的最简单的方法...希望能有所帮助。

如果你要在多个目录中工作,这也很方便,因为你可以为每个路径/path/path/path创建不同的别名,这样就可以节省你来回切换的时间,只需要“cd ~”回到根目录,然后输入你选择的别名即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接