GIT_CONFIG_COUNT, GIT_CONFIG_KEY_在git版本中的等效特性<2.31. <

  • 本文关键字:GIT CONFIG KEY COUNT git 版本 git
  • 更新时间 :
  • 英文 :


通过这个答案我发现Git 2.31引入了环境变量覆盖系统(GIT_CONFIG_KEY_x,GIT_CONFIG_VALUE_x),现在在这里有文档记录。这对我来说是一个非常有用的功能。

我的用例有一个在后台运行git命令的进程(在这个例子中是可见的)。我想覆盖一些git配置仅用于该操作,但我不能使用git -c命令行参数,因为我没有直接运行git

只要我有git 2.31或更高版本,使用所描述的env vars就可以完美地用于这个用例。它在我的工作站上运行得很好,我的工作站上有一个更新版本的git,但是我的生产系统目前运行的是Ubuntu 20.04 (focal)。Apt仓库只支持git 2.25版本,所以如果不使用Apt进行自定义安装,我就无法获得>= 2.33版本,这是我真的想避免的。

所以我对这个社区的问题给定我的特定用例,是否有任何替代方法来覆盖config而不使用给它一个完整的配置文件,GIT_CONFIG=config.conf和git <2.31 ?

旁注:我特别想覆盖的git配置项是"advice.detachedHead=false">

如果您想覆盖配置文件中的一个或多个值,请使用-c。

向命令传递配置参数。给定的值将覆盖配置文件中的值。这是预期的。与git config中列出的格式相同(子键以点分隔)。

注意在git -c foo中省略了=。酒吧……是允许和设置的foo。Bar到布尔值的真值(就像[foo] Bar在a配置文件)。包括等号,但带有空值(如git)- c foo。Bar =…)设置foo。Bar为空字符串,git config——type=bool会将其转换为false。

,

git -c advice.detachedHead=true switch foo
git -c user.name=Hello -c user.email=Hello@world.com commit -m "Hello World"

相关内容

  • 没有找到相关文章

最新更新