与其他任何配置选项一样,您可以通过运行git config --global alias.st <value here>
来设置该值,替换旧的值。您正在运行到的问题是,当你想在你设置的值空间,则需要使用引号:
git config --global alias.st "diff --stat"
不幸的是,如果你已经尝试不带引号运行,你可能已经引发了不同的问题。看看该位从documentation for git config
:
提要
'git config' name [value [value_regex]]
注意,有位叫value_regex
?由于您没有引用您先前的命令,因此diff
被解释为value
,而--stat
被解释为value_regex
。这是做什么的?那么...
可以通过使用--add选项将多行添加到选项。如果 想要更新或取消设置可能发生在多个 行上的选项,则需要给出一个POSIX regexp value_regex。只有与正则表达式匹配的现有 值才会更新或取消设置。
所以发生了什么是git试图更新配置选项alias.st
已经有值--stat
。由于没有这样的配置行,git为alias.st
创建了第二个配置行。您可以通过运行确认:
git config --global --get-all alias.st
其中应该显示alias.st
的两个值。为了解决这个问题,你应该运行:
git config --global --replace-all alias.st "diff --stat"
这应该让你回到具有alias.st
一个配置行,并解决您的问题为好。
您需要引用别名:'git config --global alias.st“diff --stat”'或'--stat'将被视为“git config”选项,而不是“diff”。我不确定这是否会产生你描述的问题。 – meagar
@meagar你是对的。引用解决了这个问题。愚蠢的我。刚刚必须添加 - 替换 - 所有Git警告! – ricardomenzer
@meagar你想添加一个答案,所以我可以将其标记为正确的?我的错误是'status'不需要引号,因为它只有一个单词。当我复制并粘贴它时,我并没有意识到需要引用更复杂的别名。 – ricardomenzer