在命令行中编辑 Git 别名
Edit Git alias in command line
我正在为 windows 使用 Git。
安装后,我在 Git bash 命令行上设置了一些 Git 别名。我用了:
git config --global alias.st status
但是现在,我想将别名更改为 diff --stat。然后,在Gitbash上,我输入了git config --global alias.st diff --stat
,但是好像没有替换掉之前设置的别名。当我输入 git st
时,它仍然是 运行 git status
。
当然,我可以转到 gitconfig 文件并对其进行编辑,但我想使用命令行进行更改。
那么,有没有办法替换别名?
与任何其他配置选项一样,您可以设置值,将旧值替换为 运行ning git config --global alias.st <value here>
。您 运行 遇到的问题是,当您希望在设置的值中包含空格时,您需要使用引号:
git config --global alias.st "diff --stat"
不幸的是,如果您已经尝试过 运行ning 不带引号,您可能也触发了不同的问题。看看 documentation for git config
:
中的这一点
SYNOPSIS
'git config' name [value [value_regex]]
注意到那个叫做 value_regex
的位了吗?由于您没有引用之前的命令,diff
被解释为 value
,而 --stat
被解释为 value_regex
。那有什么作用?嗯...
Multiple lines can be added to an option by using the --add option. If
you want to update or unset an option which can occur on multiple
lines, a POSIX regexp value_regex needs to be given. Only the existing
values that match the regexp are updated or unset.
所以发生的事情是 git 试图更新已经具有值 --stat
的配置选项 alias.st
。由于不存在这样的配置行,git 为 alias.st
创建了一个 second 配置行。您可以通过 运行ning:
确认
git config --global --get-all alias.st
应该显示 alias.st
的两个值。要解决此问题,您应该 运行:
git config --global --replace-all alias.st "diff --stat"
这应该可以让您回到 alias.st
的配置行,并彻底解决您的问题。
我正在为 windows 使用 Git。
安装后,我在 Git bash 命令行上设置了一些 Git 别名。我用了:
git config --global alias.st status
但是现在,我想将别名更改为 diff --stat。然后,在Gitbash上,我输入了git config --global alias.st diff --stat
,但是好像没有替换掉之前设置的别名。当我输入 git st
时,它仍然是 运行 git status
。
当然,我可以转到 gitconfig 文件并对其进行编辑,但我想使用命令行进行更改。
那么,有没有办法替换别名?
与任何其他配置选项一样,您可以设置值,将旧值替换为 运行ning git config --global alias.st <value here>
。您 运行 遇到的问题是,当您希望在设置的值中包含空格时,您需要使用引号:
git config --global alias.st "diff --stat"
不幸的是,如果您已经尝试过 运行ning 不带引号,您可能也触发了不同的问题。看看 documentation for git config
:
SYNOPSIS
'git config' name [value [value_regex]]
注意到那个叫做 value_regex
的位了吗?由于您没有引用之前的命令,diff
被解释为 value
,而 --stat
被解释为 value_regex
。那有什么作用?嗯...
Multiple lines can be added to an option by using the --add option. If you want to update or unset an option which can occur on multiple lines, a POSIX regexp value_regex needs to be given. Only the existing values that match the regexp are updated or unset.
所以发生的事情是 git 试图更新已经具有值 --stat
的配置选项 alias.st
。由于不存在这样的配置行,git 为 alias.st
创建了一个 second 配置行。您可以通过 运行ning:
git config --global --get-all alias.st
应该显示 alias.st
的两个值。要解决此问题,您应该 运行:
git config --global --replace-all alias.st "diff --stat"
这应该可以让您回到 alias.st
的配置行,并彻底解决您的问题。