别名g =' git'并且bash完成仍然有效

时间:2016-09-15 08:58:41

标签: git bash autocomplete git-completion

对于git本身的别名,例如。 alias g=git,您可以在此处更轻松地找到答案。

对于git子命令别名,例如。 alias gco = "git checkout",请here

我经常输入git,所以我对它进行了别名:

alias g='git'

然而,现在我无法做到:

g com 标签

并完成了我:

g commit

如何重新开始运行?

重复分化

equal-first meta answer建议将具体案例与一个更通用的问题的链接保持一致。我已在此编辑中添加了指向更通用案例的链接。

断言的重复问题更通用 - 但主要是关于git子命令的别名,而不是git本身的别名。

这个问题是关于别名是git本身的具体情况。

在标记的副本中,git - 本身案例仅在第4个答案中回答,并在对第一个列出的答案的评论中回答。第二部分拼图(源/usr/share/bash-completion/completions/git)需要阅读另一条评论才能通过该方法使其工作。

解决以下评论中的链接:

  • @ ewcz的链接是标记的副本,已经被解决了
  • Remy J的链接
    1. 这是问题(和回答)也是关于git子命令
    2. 的问题
    3. 这是一个关于非git别名的更通用的问题,在这种情况下,它并不接近最佳解决方案
    4. 这与@ ewcz的链接(已经提到的)
    5. 相同

2 个答案:

答案 0 :(得分:9)

Time.zone的末尾添加:

.bashrc

如果您看到_xfunc git __git_complete g _git ,请使用更长的格式:

bash: _xfunc: command not found

重新加载bash

source /usr/share/bash-completion/completions/git __git_complete g _git

(这个答案的灵感来自关于kub1x's answer的问题中的commentscompletion of git subcommand aliases

答案 1 :(得分:4)

在.bashrc文件中添加以下内容:

source /usr/share/bash-completion/completions/git
complete -o default -o nospace -F _git g