需求说明
- 操作系统: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,因此出现了上述错误。
解决方案有两种:
-
- 直接升级git版本为2.18
-
- 将
git-completion.bash
脚本更换为当前版本支持的。
- 将
选择第二种,尝试了提供的2.17.1的版本下载下来替换,然后重新执行配置生效,问题解决。
https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash