使用 Git 2.18,您可以更好地控制如何在控制台中指定颜色。
“git config”命令使用单独的选项,例如“--int”、“--bool”等指定调用者希望将值解释为什么类型。
引入了一个新的“--type=<typename>”选项,这将使定义新类型更加简洁。
参见commit fb0dc3b(2018 年 4 月 18 日)和 commit 0a8950b(2018 年 4 月 9 日)Taylor Blau (ttaylorr)。
(由 Junio C Hamano -- gitster -- 合并于 commit e3e042b,2018 年 5 月 8 日)支持>
builtin/config.c:支持--type=<type> 作为--<type> 的首选别名
git config 长期以来一直允许调用者提供'类型
说明符',它指示git config (1) 确保传入的
values 可以解释为该类型,并且 (2) 传出的值是
在该类型下规范化。
在另一个系列中,我们建议使用
--type=color 和 --default 替换 --get-color。
然而,我们传统上使用--color 来表示“对此输出进行着色”,
而不是“这个值应该被视为一种颜色”。
目前git config不支持这种着色,但是
我们应该小心避免过早地选择这个选项,这样
git config可以支持--color(传统意义上的)
未来,如果需要的话。
在这个补丁中,我们支持--type=<int|bool|bool-or-int|...>
除了--int、--bool 等。
这使得上述即将发布的补丁支持通过--type=color --default=... 查询具有默认值的颜色值,而不会浪费--color。
我们保留了多次抱怨的历史行为,
给出了传统风格的--<type> 标志,并将其扩展到
冲突的新式--type=<type> 标志。 --int --type=int(及其
交换对)没有抱怨,但--bool --type=int(及其
交换对)确实如此。
所以之前你有--bool 和--int,现在(documentation):
--type <type>
'git config' 将确保任何输入或输出在给定类型约束下都是有效的,并将规范化 <type> 中的传出值
规范形式。
有效的<type> 包括:
- '
bool':将值规范化为“true”或“false”。
- '
int':将值规范化为简单的十进制数。可选的后缀
'k'、'm' 或 'g' 将在输入时将值乘以 1024、1048576 或 1073741824。
- '
bool-or-int':如上所述,根据'bool'或'int'进行规范化。
- '
path':通过在$HOME 和~user 的值中添加前导~ 来规范化指定用户的主目录。该说明符没有
设置值时的效果(但您可以在命令行中使用git config section.variable
~/ 让您的shell 进行扩展。)
- '
expiry-date':通过从固定或相对日期字符串转换为时间戳来规范化。此说明符在设置值时无效。
--bool::
--int::
--bool-or-int::
--path::
--expiry-date::
Historical options for selecting a type specifier. Prefer instead `--type`,
(see: above).
请注意,Git 2.22(2019 年第 2 季度)解释说“git config --type=color ...”是为了替换“git config --get-color”,但存在未记录的细微差别,现已修复。
参见Jeff King (peff) 的commit cd8e759(2019 年 3 月 5 日)。
(由 Junio C Hamano -- gitster -- 合并于 commit f6c75e3,2019 年 3 月 20 日)
config: 文档--type=color 输出是完整的一行
即使“git config”的较新的“--type=color”选项意味着
向上兼容传统的“--get-color”选项,
与后者不同,它的输出不是一条不完整的线,缺少
最后是LF。
这使其与“git config --type=bool”等其他类型的输出保持一致。
Document it,因为它有时会让毫无戒心的用户感到惊讶。
现在改为:
--type=color [--default=<default>] 优于 --get-color
(但请注意,--get-color 将省略由
--type=color)。
您可以看到 git config --type=bool 与 Git 2.26(2020 年第一季度)一起用于替换示例模板中的“git config --bool”调用。
参见Lucius Hu (lebensterben) 的commit 81e3db4(2020 年 1 月 19 日)。
(由 Junio C Hamano -- gitster -- 合并到 commit 7050624,2020 年 1 月 30 日)
templates:修复不推荐使用的类型选项--bool
签字人:Lucius Hu
git-config 的--bool 选项被标记为历史,建议用户改用--type=bool。
此提交替换模板中所有出现的--bool。
另请注意,未找到其他已弃用的类型选项,包括 --int、--bool-or-int、--path 或 --expiry-date。