【问题标题】:Modify git config file globally全局修改 git 配置文件
【发布时间】:2017-11-24 04:17:19
【问题描述】:

我们希望全局更改 git 配置文件,以便在每次 git 克隆时从 git repo 下载新​​文件。有没有办法这样做?任何对项目进行 git clone 的用户都应该在 ./git/config 文件中而不是标准文件中获取这个自定义的 git 配置文件?

【问题讨论】:

  • 我敢肯定,您正在努力实现一些好的和有用的目标;如果是这样,这不是实现它的方法。到目前为止,答案充其量为您提供了一种方法,如果您的用户想要合作,这种方法可能会奏效——但如果您的用户想要合作,那么您就不需要这种严厉的解决方案。如果您发布一个新问题,概述您要完成的工作,您可能会得到比“尝试强制用户从源获取配置更新”更有意义的建议

标签: git github gitlab git-commit git-config


【解决方案1】:

我认为 git-clone 做这项工作不是一个好主意。在用户不知情或未经许可的情况下修改本地现有文件或覆盖本地配置是不安全和不合理的。

我不知道你为什么要这样做,但我认为你可以通过其他方式做到这一点。对于您的团队成员,您可以告诉他们在开发过程中必须遵守的规则。对于可能克隆您的项目并贡献的随机用户,您可以在README 或项目介绍中写下规则。应该允许用户在他们的本地存储库中做他们想做的任何事情。但是当他们的提交被合并或应用到祝福存储库时,你可以为那些不满意的提交设置障碍。

例如,如果您不想要包含 dos 样式行结尾的文件,您可以在 pre-receive 挂钩中检测它们,阻止推送,然后在错误消息中响应以解释推送失败的原因和建议如何修复错误。建议中可以包含制作特定的 git-config。

【讨论】:

    【解决方案2】:

    据我所知,当用户克隆您的存储库时,无法强制修改全局 Git 配置。这会导致严重的安全问题。

    如果您决定修改用户“signingkey”或修改可执行文件的路径(mergetool、difftool 等)怎么办?

    相反,您可以编写一个脚本来修改您要更新的配置并要求用户执行此脚本。

    您可以使用以下命令来更新 git 配置:

    git config --global <key> <value>  # modify global .gitconfig
    git config <key> <value>           # modify current repository config
    

    【讨论】:

      【解决方案3】:

      我认为你可以创建一个 config_symlink.sh 文件:它会从你推送到 git 的配置文件创建一个符号链接。并将该文件链接到 ./.git/config

      ln -s ./config ./.git/config
      

      然后推送两个文件。

      祝你好运!!!

      【讨论】:

      • 在 windows 上,您可以使用 mklink 创建符号链接。然后创建一个bat文件。
      猜你喜欢
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 2012-08-20
      • 2022-11-24
      • 1970-01-01
      • 2014-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多