git - 使用输入参数设置 git 别名
问题描述
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
.
如何定义别名以便将额外参数放在正确的位置?
解决方案
更复杂的别名(包括将参数连接到其他文本的别名)的技巧是在 alias 命令中创建并立即运行 shell 函数:
git config --global alias.rmalias '!f() { git config --global --unset "alias.$1"; }; f'
这将创建一个函数,该函数f
使用它运行的 Git 命令中的第一个参数$1
。然后它运行函数f
(它将命令行上给别名的所有参数作为参数传递给函数)。
在命令行上创建这些别名需要非常小心的间距和引号,所以复制和粘贴是一个聪明的主意——如果你在整个别名周围使用双引号,你的 shell 可能会扩展历史!
并破坏别名,并且在函数定义中省略标点符号周围的空格,这会使函数定义无效。
推荐阅读
- java - 如何在 Java 中的按钮列表中设置较少的类
- arrays - 如何将逗号插入到一个充满字符串的数组中
- python - 与自定义命名空间相比,为 argparse 参数提供类型提示的更好选择
- ios - 不适用于 HERE Map iOS SDK 中的 NMANavigationManagerDelegate
- javascript - AWS Cognito 更新多个用户属性
- tensorflow - Tensorrt 速度没有提升
- excel - 如何连接引用单元格的百分比
- java - Spring Boot 升级,set-cooike 标头未从 ResponseEntity 传递
- php - 在 Laravel 的同一页面上发布评论和显示评论
- python - Flask-sqlalchemy 临时会话/上下文变量