【问题标题】:How to change the $HOME directory in Git如何在 Git 中更改 $HOME 目录
【发布时间】:2012-09-15 14:07:54
【问题描述】:

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

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

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

【问题讨论】:

  • 你不应该和$HOME搞混,它基本上为整个操作系统定义了你的主目录。
  • 任何以 .将隐藏在类 UNIX 操作系统中。扩展名无关紧要。
  • @djs 谢谢你!我不知道,因为我实际上还没有在 Unix 系统中,等待它到达这里,但想在它到达时做好准备。

标签: git unix osx-lion home-directory


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    更多关于为什么它被忽略的细节可以在这个git mailing list thread中找到。

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

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

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

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

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

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

    【讨论】:

      【解决方案3】:

      好的,这就是我的做法……非常简单。

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

      第二, 输入 "cd path/path/path"(你想要作为主目录的目录的路径)

      第三, 进入所需目录后...
      输入 "alias home="path/path/path"(你想要的目录)

      现在每次加载 Git 时,您只需输入“home”,因为这是别名“home”,它将输入目录的路径你想工作的地方。你必须记得在 Git 首次加载时输入“cd ~”以将你带到根目录...然后这个别名将起作用,否则它将无法识别来自另一个目录的路径。

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

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

      【讨论】:

        猜你喜欢
        • 2020-06-26
        • 2018-04-06
        • 2016-02-29
        • 2021-07-02
        • 2012-11-29
        • 2014-12-31
        • 1970-01-01
        • 2017-05-21
        • 2019-03-09
        相关资源
        最近更新 更多