需求说明

  • 操作系统:CentOS Linux release 7.6.1810 (Core)
  • git版本:git version 2.16.5
    需要在本环境下安装git自动补全的功能。

安装步骤

git源码提供了一个bash脚本git-completion.bash来实现git命令的自动补全操作。

一种可以先下载git源码,然后在目录contrib/completion下可以看到git-completion.bash文件;另外一种也可以直接通过curl来单独下载git-completion.bash文件。

  • git-completion.bash下载
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

直接下载到~用户目录下。

  • 添加到bash_profile文件中
vi ~/.bash_profile

if [ -f ~/.git-completion.bash ]; then
        . ~/.git-completion.bash
fi
  • 使配置生效
source ~/.bash_profile

安装遇到的问题及解决

正常情况下,安装完,执行git 按TAB键就可以显示出支持的命令了,但是我遇到了一个问题。

在按TAB键时,显示如下:

git Unknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config

在网上查找了一番,找到了解决方案:
《.git-completion.bash producing error on macOS Sierra 10.12.6》

里面列出:
--list-cmds这个参数实在git V2.18中新增的,而我这里的git版本为 V2.16,因此出现了上述错误。

解决方案有两种:

    1. 直接升级git版本为2.18
    1. git-completion.bash脚本更换为当前版本支持的。

选择第二种,尝试了提供的2.17.1的版本下载下来替换,然后重新执行配置生效,问题解决。
https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash

最后修改:2019 年 05 月 06 日 11 : 32 AM