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

标签 git bash autocomplete git-completion

<分区>

git 本身的别名,例如。 alias g=git,你会在这里更容易找到你的答案。

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


我经常输入 git,所以我给它取了别名:

alias g='git'

但是,现在我做不到:

g comtab

完成后给我:

g 提交

如何让完成再次运行?


重复微分

equal-first meta answer建议将特定案例与更通用的问题链接在一起。我在此编辑中添加了指向更通用案例的链接。

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

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

在标记的重复中,git-itself 案例仅在第 4 个显示的答案中以及对第一个列出的答案的评论中得到回答。拼图的第二部分 (source /usr/share/bash-completion/completions/git) 需要阅读另一条评论才能通过该方法使其工作。

解决以下评论中的链接:

  • @ewcz 的链接被标记为重复并且已被解决
  • Remy J 的链接
    1. 这是被问到(并被回答)的问题,也是关于 git 子命令的问题
    2. 这是一个关于非 git 别名的更普遍的问题,在这种情况下它并不是最佳解决方案
    3. 这与@ewcz 的链接相同(已解决)

最佳答案

在你的 .bashrc 的末尾,添加:

_xfunc git __git_complete g _git

如果您看到 bash: _xfunc: command not found,请使用更长的形式:

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

重新加载 bash

执行 bash

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

关于git - 别名 g ='git' 并让 bash 完成仍然有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39506941/

相关文章:

git - 切换到另一个分支而不提交

python - 读取 xterm 中的当前文本颜色

autocomplete - 在 Sublime Text 2 上修改 HTML &lt;script&gt; 自动完成

regex - 使用 find 和 regex 区分 .h 和 .sh

c - 有没有办法让 Sublime Text 2 自动完成 C 中的结构子项?

javascript - Asp.net 的自动完成下拉列表

git - 将上游设置为子模块(或如何将 GitHub 分支作为子模块包含在内)

windows - Git 要求输入密码才能推送 WSL 2 (Ubuntu),而不是 Windows。这是为什么?

git - 由于 git pull in git 2.29,VScode git 同步被破坏

linux - 创建一个 tshark bash 脚本来导出对象