Git 别名g=';吉特';还有bash的完成仍然有效吗

Git 别名g=';吉特';还有bash的完成仍然有效吗,git,bash,autocomplete,git-completion,Git,Bash,Autocomplete,Git Completion,对于git本身的别名,例如alias g=git,您可以在此处更轻松地找到答案 对于git子命令别名,例如alias gco=“git checkout”,请查看 我输入git的次数太多了,所以我给它加了个别名: alias g='git' 但是,现在我无法做到: g comtab 并在完成时向我提供: g提交 我如何让完成再次运行 重复差异化 这建议将具体案例与更一般的问题联系起来。在此编辑中,我添加了指向更通用案例的链接 断言的重复问题更一般,但主要是关于git子命令的别名,而不是gi

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

对于
git
子命令别名,例如
alias gco=“git checkout”
,请查看


我输入git的次数太多了,所以我给它加了个别名:

alias g='git'
但是,现在我无法做到:

g com
tab

并在完成时向我提供:

g提交

我如何让完成再次运行


重复差异化

这建议将具体案例与更一般的问题联系起来。在此编辑中,我添加了指向更通用案例的链接

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

这个问题是关于别名是to
git
本身的特定情况

在标记的副本中,
git
-本身的大小写仅在显示的第4个答案中回答,并在对第一个列出的答案的注释中回答。阅读另一条注释是第二块拼图(source
/usr/share/bash completion/completions/git
)通过该方法工作所必需的

处理以下评论中的链接:

  • @ewcz的链接被标记为重复,并且已经被寻址
  • 雷米J的链接
  • 这是所问(和回答)的问题,也是关于
    git
    子命令的
  • 这是一个关于非git别名的更一般的问题,在这种情况下,这不是最好的解决方案
  • 这与@ewcz的链接相同(已寻址)

.bashrc
的末尾添加:

_xfunc git __git_complete g _git
如果看到
bash:\u xfunc:command not found
,请使用较长的格式:

source /usr/share/bash-completion/completions/git
__git_complete g _git
重新加载bash

exec bash


(此答案的灵感来源于关于的问题中的和)

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

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

我正在运行GNUBash,版本4.3.11(1)-发行版(x86_64-pc-linux-GNU)?也许这几个链接将帮助您解决问题。2.3.4.