全局修改git配置文件

问题描述:

我们希望全局更改git配置文件,以便在每个git克隆上从git repo下载新文件。有没有办法做到这一点?任何执行该项目的git clone的用户都应该在./git/config文件中获得这个定制的git配置文件,而不是标准配置文件?全局修改git配置文件

+0

我敢肯定,你在这里试图实现的东西很好,很有用;如果是这样,这不是实现它的方式。到目前为止的答案给了你最好的*一种方法,如果你的用户想要合作 - 也许你的用户想要合作,那么你就不需要这种严厉的解决方案。如果您发布了一个新问题,列出了您要完成的任务,那么您可能会得到比“尝试强制用户从原始配置更新”更有意义的建议 –

我不认为这是git-clone做这个工作的好主意。修改本地现有文件或在没有用户意识或权限的情况下覆盖本地配置是不安全和不合理的。

我不知道为什么你想这样做,但我认为你可以通过其他方式做到这一点。对于你的团队成员,你可以告诉他们在开发过程中他们必须遵守的规则。对于可能克隆您的项目和贡献的随机用户,您可以写下规则README或项目介绍。用户应该被允许在本地仓库中做任何他们想做的事情。但是当他们的提交被合并或应用到受保护的存储库时,您可以为那些不满意的提交设置障碍。例如,如果您不希望包含dos样式行结尾的文件可以在pre-receive钩子中检测到它们,阻止推送,然后在错误消息中作出响应,以解释推送失败的原因并提示该如何解决错误。制作特定的git-config可以包含在建议中。

据我所知,这是不可能迫使全球混帐配置为用户修改时,他们克隆你的仓库。这会造成严重的安全问题。

,如果你决定修改用户“signingkey”或修改一个可执行(合并工具,difftool等)的路径是什么?

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

您可以使用下面的命令来更新混帐CONFIGS:

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

我想你可以创建一个config_symlink.sh文件:它将从已推到混帐您的配置文件创建一个符号链接。并将该文件链接到./.git/config

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

然后推送两个文件。

祝你好运!

+0

这不适用于Windows平台 – Antwane

+0

在Windows上,你可以使用** mklink **创建一个符号链接。然后创建一个bat文件。 –