Linux下Git最新版源代码编译构建

简介: Linux下Git最新版源代码编译构建

在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/

参考文档:

相关文章
|
2月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
123 2
|
3月前
|
安全 Linux 编译器
探索Linux内核的奥秘:从零构建操作系统####
本文旨在通过深入浅出的方式,带领读者踏上一段从零开始构建简化版Linux操作系统的旅程。我们将避开复杂的技术细节,以通俗易懂的语言,逐步揭开Linux内核的神秘面纱,探讨其工作原理、核心组件及如何通过实践加深理解。这既是一次对操作系统原理的深刻洞察,也是一场激发创新思维与实践能力的冒险。 ####
|
12天前
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
94 14
|
17天前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
126 3
|
3月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
120 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
3月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
2月前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
72 0
|
3月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
130 0
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
166 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
666 6
下一篇
开通oss服务