Deepin Linux v20+手工编译安装Git 2.32.0最新版(升级Git版本)

Linux 专栏收录该内容
13 篇文章 0 订阅

为什么要手工编译源代码安装

相信大家选用Deepin Linux v20发行版的原因十有八九都是一样的,deepin-wine提供了比较完善且常用的Windows软件,方便和其它同事、朋友工作交流沟通等原因,Deepin的交互UI也比较有好,复合国人的审美和使用习惯。它的好处自不必多说,那么带来的问题也不少。比如:开发用的很多软件源不支持Deepin,我们需要手工去修改或研究安装源的安装方式,虽然deepin使用的是Debian的软件源,系统也是基于deepin的unstable版本构建,但并不代表deepin可以完全和debian一样,比如今天要说的Git源码编译安装方式就无法通用,Git-scm官方使用的是ppa安装源,在Deepin v20上就放弃这种安装方式吧!我使用了deepin 15版本的方法没能安装成功,于是最后决定采用源码安装方式,并成功将最新的Git 2.32.0版本git编译成功。具体操作步骤如下:

准备工作

首先我们需要从Git官网下载最新的源代码包,你可以下载压缩包,也可以直接去github clone最新的源代码,只不过第二种方式你需要先安装apt源里面的git,之后需要再卸载掉。地址分别如下:

GITHUB地址:

git clone https://github.com/git/git.git

源代码包地址:

https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.32.0.tar.gz

下载到本地后还无法直接编译,下面需要进行编译项目的依赖安装,这里我使用的是Deepin v20.1,本教程理论上只要是v20+的都可以,具体操作进入下一节细说。

安装依赖项

编译源代码本身会用到的一些依赖比如make, g++, gcc 等,这些自行安装,如果已经安装过的略过这一步。

sudo apt install make g++ gcc -y

用于生成git源代码configure文件的依赖:

sudo apt install autoconf

而git本身的依赖还包括curl、zlib、openssl、expat、libiconv等,此处请执行

sudo apt install build-essential libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev -y

在编译过程中,还会编译到git的文档等内容,为了顺利编译通过,你还需要安装和文档解析有关的依赖,具体如下:

sudo apt install asciidoc xmlto docbook2x

至此,依赖项算是安装的差不多了,如果在编译的时候还有什么漏掉的到时候报错再补也不迟。

开始编译

此处以我下载的最新版Git-2.32.0版本为例(存放路径:~/git-2.32.0.tar.gz),执行如下操作:

tar -zxvf git-2.32.0.tar.gz
cd git-2.32.0
make configure
./configure --prefix=/usr/local/git --bindir=/usr/bin

Configure文件生成成功提示
这里的–prefix是指定git的安装目录,–bindir是指定git执行文件存放的路径,指定以后,就可以在任意目录下执行git命令,这里需要注意,如果之前有安装apt版本的,请先卸载掉apt的git版本。

接下来,等待片刻后看到如下提示就证明配置成功了。
配置成功提示
然后开始执行编译,命令如下:

make all doc
(这里等待时间略长,但和nodejs比已经快很多了。)

等待片刻后,看到如下提示证明编译成功,如果有错误,请根据错误提示安装缺少的依赖,如果不知道缺什么可以给我留言,我看到后会帮你解决。
编译成功提示
最后一步,安装吧,到这里后面也不会有什么错误了。

sudo make install install-doc install-html

最终安装成功以后,使用

git --version

查看一下git版本是不是最新啦!
版本安装成功
其实,Deepin v20自带的git版本和Debian是一样的,都是2.20.0,但是由于我使用的是SmartGit来管理Git项目,所以每次打开都提示我让我更新版本,当前2.20.0版本太旧不推荐使用,所以就花了点时间研究一下,顺便记录下来提供给需要的人。
SmartGit
没用过的人给安利一波,Linux下面少有的好用的Git GUI工具,不过是付费的,可以申请免费个人License,大家可以试试看。

关于Git-lfs

由于手工编译最新版的git安装成功以后,手工编译安装git-lfs里面还有一些依赖关系我尚且解决,所以这里就不写有关git-lfs安装的过程了,等问题解决以后,我单独开一篇博客来说明一下Deepin下面如果手工安装最新版本的git-lfs。

  • 2
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值