我正在使用Git for windows.
安装后,我在Git bash命令行上设置了一些Git别名.我用了:
git config --global alias.st status
但现在,我想将别名更改为diff --stat.然后,在Git bash上,我输入了git config --global alias.st diff --stat,但它似乎没有替换先前设置的别名.当我键入git st它仍然在运行git status.当然,我可以转到gitconfig文件并进行编辑,但我想使用命令行进行更改.
那么,有没有办法替换别名?
与任何其他配置选项一样,您可以通过运行来设置值,替换旧值git config --global alias.st <value here>.您遇到的问题是,当您想要设置的值中有空格时,您需要使用引号:
git config --global alias.st "diff --stat"
Run Code Online (Sandbox Code Playgroud)
不幸的是,如果你已经尝试过没有引号的运行,那么你可能也会触发一个不同的问题.从文档中查看以下内容git config:
概要
Run Code Online (Sandbox Code Playgroud)'git config' name [value [value_regex]]
注意那里有一个叫value_regex?由于您没有引用上一个命令,因此diff被解释为value,并被--stat解释为value_regex.那是做什么的?好...
可以使用--add选项将多行添加到选项中.如果要更新或取消设置多行可能出现的选项,则需要给出POSIX正则表达式value_regex.仅更新或取消设置与正则表达式匹配的现有值.
所以发生的事情是git试图更新alias.st已经拥有该值的配置选项--stat.由于不存在这样的配置行,git 为其创建了第二个配置行alias.st.您可以通过运行以下方式确认:
git config --global --get-all alias.st
Run Code Online (Sandbox Code Playgroud)
哪个应显示两个值alias.st.要解决此问题,您应该运行:
git config --global --replace-all alias.st "diff --stat"
Run Code Online (Sandbox Code Playgroud)
哪个应该让你回到有一个配置行alias.st,并妥善解决你的问题.
| 归档时间: |
|
| 查看次数: |
1622 次 |
| 最近记录: |