繁体   English   中英

如何获得bash自动完成功能,以使其与使用shell命令的git别名一起使用?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM