在Linux操作系统中,虽然可以用软件包管理器直接安装git,但是版本是比较旧的(尤其是redhat系linux),因此可以下载官方最新版源代码进行编译构建。
这里以Debian系统为例,讲解git源码的编译。
1,安装构建所需的依赖
执行下列命令安装:
sudo apt install dh-autoreconf libcurl4-gnutls-dev libexpat1-dev gettext zlib1g-dev libssl-dev asciidoc xmlto docbook2x install-info
2,下载git源代码
在官方下载页面的上面这个地方可以下载源代码:
或者在备用网址下载(提取码:2333)。
下载后解压源代码。
3,开始构建编译
在解压的源代码文件夹中打开终端(或者使用cd
命令进入源代码文件夹),执行下列命令配置并编译:
make configure ./configure make all doc info
需要注意的是:git源码所在路径中不可以有任何非英文字符!因此需要将git源码解压到全英文路径下再进行编译,否则会编译失败。
等待编译完成之后,执行安装命令:
sudomake install install-doc install-html install-info
安装完成,执行git
命令发现就可以使用了!
git默认会安装到以下目录:
- git命令:
/usr/local/bin
- git核心组件:
/usr/local/libexec/git-core
- git其余组件和文档:
/usr/local/share
如果说你想构建一个git并打包放在别的电脑上面使用,可以在make install
时指定DESTDIR
变量指定想要安装到的位置:
makeDESTDIR=自定义安装位置(绝对路径) install install-doc install-html install-info
但是安装到别的位置时是无法在那个位置运行git的,可以将其制作为deb安装包安装到默认位置。
4,添加Git命令自动补全功能
通常在使用Linux命令时,按下Tab可以自动补全,大大地提高了我们的效率:
然而大家发现:自行编译并安装Git之后,Git命令不能自动补全。
不过Git官方提供了一个脚本:git-completion.bash
用于添加对Git命令的补全功能,这个脚本就在我们上述下载的git源码中。
在解压的Git源码文件夹中的contrib/completion
目录下即可找到它:
然后我们把这个脚本放在指定位置即可!
首先确保系统安装了自动补全功能,通常Linux系统都自带这个功能,若没有则安装这个软件包:
sudo apt install bash-completion
然后在/etc
目录下创建bash_completion.d
文件夹,将我们上述的git-completion.bash
脚本放进去即可!这样就完成了这个脚本的安装。记得先对该脚本添加可执行权限哦!
# 先进入到git-completion.bash脚本所在目录下sudomkdir /etc/bash_completion.d chmod+x ./git-completion.bash sudocp-f ./git-completion.bash /etc/bash_completion.d/
参考文档: