验证Git配置文件值

问题描述 投票:0回答:1

对于具有有限有效值集的已定义git config变量,是否有一种方法可以验证配置文件中的值是否有效?

例如,如果我输入invalid值:

git config --global push.default simp

vs 有效

git config --global push.default simple

除了行为不符合您的预期目的之外,是否有其他方法可以检测到此?

git git-config
1个回答
0
投票

答案是both no and yes

给出任何特定名称或名称集,可能会有一些有限的正确值选项集。该设置也可能取决于您的Git版本。例如,pull.rebase(Git 1.7.9中的新功能)可以设置为:

  • [falsegit pull将使用git merge作为第二个命令
  • [truegit pull将使用git rebase作为第二个命令
  • [preserve,因为Git(1.8.5):git pull将使用git rebase -p作为第二个命令
  • [interactive,因为Git 2.8:git pull将使用git rebase -i作为第二个命令
  • [merges,因为Git 2.18:git pull将使用git rebase -r作为第二个命令

因此,Git 2.18或更高版本的有效值的集合与Git 2.15的有效值的集合不同,Git 2.15或Git 1.7.1的有效值集合不同。

验证者,如果您希望构建一个验证者,则需要一个庞大的数据库,该数据库应包含给出以下内容的条目:

  • 选项的名称,例如pull.rebasepush.default
  • 引入和/或修改了该选项的Git版本
  • 到那时为止可用的值
  • 是否不赞成使用某些值:例如,从2.18版本开始,您可能应该停止使用preserve,而倾向于merges

然后您可以问:对于Git版本x.y,哪些设置对该配置项目有效。包括default默认值也很不错,因为它们也会更改。

特别是对于push.default,该设置在Git 1.6.3中已经存在,但是在Git 2.0开始默认为matching之前,它默认为simple。但是,直到[Git 1.7.11],simple设置甚至没有exist

据我所知,“官方Git知道的大型数据库及其价值”并不以网状形式存在。它必须从Git源码构建。就像我在上面的示例中所做的那样,用于Git的Git存储库是公共的,并且易于搜索,但是建立一个完整的数据库将非常耗时。

((请注意,用户可以通过编写自己的Git命令(例如,作为shell脚本)来发明自己的个人Git配置值和设置。

© www.soinside.com 2019 - 2024. All rights reserved.