[英]How do I get bash autocomplete to work with git aliases that use shell commands?
在我的git config中,我有一个相对较长的别名,该别名以一种漂亮的格式输出最近的git commit的日志:
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset'
我还通过在命令中添加--all
选项,在前一个别名的基础上建立了另一个别名。 我不想通过在两个别名中都指定整个命令字符串来重复自己,所以我只是将新的别名shell扩展到上一个别名:
la = !git lg --all
这很好用,但是有一个问题:虽然分支名称的自动补全在我的常规git lg
别名下可以正常工作,但是对于炮轰的那一点根本不起作用。
如何使git分支名称的自动补全功能与可用于其他命令的别名一起使用?
注意:此问题与如何使用别名完成bash补全不同? ,因为该问题处理的是git命令的bash别名,而不是git的内置别名系统。
在这种情况下,键入任何分支名称将得到相同的结果,因为--all
选项显示所有引用。 但是,如果您添加
function _git_la() {
_git_log
}
到您的Shell启动文件中,它应该正确自动完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.