如何重命名自定义git别名?

时间:2013-11-21 00:01:19

标签: git alias rename

我创建了一堆别名快捷方式。我想重命名其中一个。例如,让我们创建别名al,它将显示我的配置文件中已定义的所有别名:

git config --global alias.al '!git config --list | grep ^alias\.' 

我的别名现在保存在配置中,它看起来像这样:

alias.al=!git config --list | grep ^alias\.

我可以通过输入git al

来调用它

如何重命名此别名?例如从'al'到'l'?我当然可以使用:

git config --global --unset alias.al

然后输入:

git config --global alias.l '!git config --list | grep ^alias\.'

但我只想知道是否有办法在一个简单的命令中执行此操作而不使用--unset

2 个答案:

答案 0 :(得分:3)

要直接回答你的问题,我怀疑这可以在一个命令中完成。

我建议您使用自己喜欢的编辑器并编辑.gitconfig文件。由于这是一个全局别名,因此它将位于您的主目录中:

vim ~/.gitconfig

您可以轻松更改其中的别名。

答案 1 :(得分:1)

您可以创建自己的别名,只需在一个命令中执行此操作即可。

我创建了全局和本地别名之间的区别:

重命名别名

rename-alias = "!f() { [ $# = 3 ] && [ $2 != $3 ] && [ ! -z \"$(git config $1 --get alias.$2)\" ] && [ -z \"$(git config $1 --get alias.$3)\" ] && git config $1 alias.$3 \"$(git config $1 --get alias.$2)\" && git config $1 --unset alias.$2 && return 0 || echo \"Usage: git rename-(local|global)-alias <alias existing name> <new alias name>\nThe alias you are going to rename must exist and new name must not exist.\" >&2 && return 1; };f"
rename-global-alias = "!git rename-alias --global"
rename-local-alias = "!git rename-alias --local"

使用示例:

git rename-global-alias existing-alias new-alias
git rename-local-alias existing-alias new-alias

然后,您的existing-alias别名已重命名为new-alias

现在可以在下一个包含大量别名的Github仓库中使用: