使用输入参数设置 git 别名
Set up git alias with an input argument
Git 可以使用 git config --global --unset alias.<badalias>
删除别名。
我想让生活更轻松,并能够删除 git 别名:
git rmalias <badalias>
.
我对这个别名的尝试是:
git config --global alias.rmalias '!git config --global --unset alias.'
我运行遇到的问题是
error: key does not contain variable name: alias.
因为命令现在读取
git config --global --unset alias. badalias
.
如何定义别名以便将额外参数放在正确的位置?
更复杂别名的技巧,包括将参数连接到其他文本的别名,是在别名命令中创建并立即运行一个shell函数:
git config --global alias.rmalias '!f() { git config --global --unset "alias."; }; f'
这将创建一个函数 f
,它使用 Git 命令中的第一个参数 </code> 运行s。然后它运行是函数<code>f
(它将命令行上给别名的所有参数作为参数传递给函数)。
在命令行上创建此类别名需要格外小心间距和引号,因此复制和粘贴是一个明智的主意——如果您在整个别名周围使用双引号,您的 shell 可能会这样做!
上的历史扩展并打破别名,并且在函数定义中省略标点符号周围的空格,这会使函数定义无效。
Git 可以使用 git config --global --unset alias.<badalias>
删除别名。
我想让生活更轻松,并能够删除 git 别名:
git rmalias <badalias>
.
我对这个别名的尝试是:
git config --global alias.rmalias '!git config --global --unset alias.'
我运行遇到的问题是
error: key does not contain variable name: alias.
因为命令现在读取
git config --global --unset alias. badalias
.
如何定义别名以便将额外参数放在正确的位置?
更复杂别名的技巧,包括将参数连接到其他文本的别名,是在别名命令中创建并立即运行一个shell函数:
git config --global alias.rmalias '!f() { git config --global --unset "alias."; }; f'
这将创建一个函数 f
,它使用 Git 命令中的第一个参数 </code> 运行s。然后它运行是函数<code>f
(它将命令行上给别名的所有参数作为参数传递给函数)。
在命令行上创建此类别名需要格外小心间距和引号,因此复制和粘贴是一个明智的主意——如果您在整个别名周围使用双引号,您的 shell 可能会这样做!
上的历史扩展并打破别名,并且在函数定义中省略标点符号周围的空格,这会使函数定义无效。