自定义git命令自动完成

时间:2016-12-23 20:09:25

标签: linux git shell

我已经通过编写位于/ usr / local / bin中的shell脚本实现了自定义git命令。它工作正常,但我希望脚本在命令行中自动完成分支,就像“git checkout [TAB] [TAB]”。怎么可以这样做?

编辑: 只需添加一些上下文:git允许您通过创建脚本git-$subcommandName 非常轻松地添加自己的命令。在我的案例git-install中,该脚本便于检查分支,构建,打包和安装源代码。

1 个答案:

答案 0 :(得分:8)

想出来。我需要下载git bash completion(here),在/etc/bash_completion.d中创建一个包含以下内容的新文件:

source ~/.git-completion.bash
_git_install ()
{
  __gitcomp_nl "$(__git_refs)"
}

然后exec bash重新加载完成脚本。