如何使用 git 在终端中删除一个变量?

如何使用 git 在终端中删除一个变量?

因此,当我尝试在终端中使用 git status 时遇到了问题。

fatal: bad numeric config value '=' for 'color.ui': invalid unit

我研究了一下,发现我有 2 个 color.ui 变量

git config --list
credential.helper=osxkeychain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
user.name=Charles Pine
[email protected]
color.ui=auto
color.ui==

有人知道如何删除第二个 color.ui 吗?提前感谢大家的帮助。这是我的第一篇帖子之一,所以如果我做错了什么,我真诚地道歉!

答案1

您可能会发现每个值都是在不同的文件中设置的(即:系统/全局/本地)......尽管它两个值可能来自一个配置文件。

查看git config文档了解更多信息。

基于位置的移除

尝试运行下面的每个程序来确定错误条目来自哪里:

git config --system --get color.ui
git config --global --get color.ui
git config --local  --get color.ui

确定它的来源后,通过适当添加--system/ --global/--local标志将其删除。例如,这里我取消设置了本地值:

git config --local --unset color.ui

基于价值的移除

如果两个值确实来自同一个文件,那么也可以为模式提供--unset与该值匹配的正则表达式模式。

在您的情况下(=),该模式相当安全,但要注意某些特殊的正则表达式字符,例如:

  • .- 任意一个字符
  • *- 零个或更多
  • +- 一个或多个
  • ETC...

对于你来说,这应该有效:

git config --unset color.ui =

讨论 git 配置时,有以下位置可用:

  • --system- 系统范围的配置
    • 存储在${prefix}/etc/gitconfig${prefix}通常为空)
  • --global- 用户的全局配置
    • 通常~/.gitconfig~/.config/git/config
  • --local- 特定于存储库的配置
    • 即:${checkout_root}/.git/config,尽管如果你在子模块
  • --file ${filename}- 另一个文件,如指定

也可以手动编辑这些文件 - 它们是基于文本的,格式类似于INI 文件。这意味着你不需要需要使用git config界面来搜索或者修改值。

相关内容