【Git】Linux系统下Git的升级

2023-11-14

Git 在很多发行版的 Linux 系统里的版本都很低,比如说比 2.18 这个版本还低,这里比较的一般就是码农的本地环境,因为本地 Mac 系统等等大家经常用到的预装的 Git 的版本都比较深,Git 的版本太低有很多衍生问题,除了本身 Git 的各种命令的区别以外,另外就是 Go 编译的时候会遇到一些问题,因为 go get 底层封装的其实就是 Git 的各种命令,比如 git fetch 什么之类的,如果 Git 版本太低,有些 git fetch 新版有的参数没有的话,经常就会出现莫名其妙的报错,导致 Go 的项目无法编译和调试,真的很蛋疼。

如果简单地通过 yum update 可以更新 Git 的版本当然是好了,但是实际情况并没有那么好。主要原因还是很多官方的仓库都没有提供比较新的 Git 版本,尤其是 Centos 的仓库,还有 epel 等等,总之事情其实没有想得这么简单。

既然没有轻松的方法,那就按照官网的方法,在本地编译一个吧,下面以 git-2.29.0 为例。

cd /tmp
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.29.0.tar.gz
tar zxvf git-2.29.0.tar.gz
cd git-2.29.0
make configure
./configure --prefix=/usr
make all doc info
make install install-doc install-html install-info

上面几个步骤下来还是很丝滑的,接下来就是各种报错了。
在这里插入图片描述
很明显 asccidoc 没找到,要么是没装,那就装一个,要么就是装了没找到位置,总之就是看看系统有没有 assccidoc,没有就装就是了。
在这里插入图片描述
同理,xmlto 看看本地有没有。
在这里插入图片描述
还是同理,看看 docbook2x-texi 有没有就是了。

当然了,装这些软件就跟装 Git 一样,很多时候在不同发行版上也不是一个 yum install 就完事的,反正就是装的时候有什么问题就解决什么问题,yum 装不了,那就 rpm 装,rpm 装不了可能跟本地各种库有冲突,有冲突那就看哪里有冲突就是了,比如下面这个命令,就不能一下子帮我都把软件装好了,后面还是得反反复复。
在这里插入图片描述
最后,等我把包都装好了,再执行一次 make install install-doc install-html install-info 的命令,最后安装结束后就没有再报错了。
在这里插入图片描述
git version 检查一下,搞定。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Git】Linux系统下Git的升级 的相关文章

  • Sourcetree 2.1.2.5 - 显示“未提交的更改”,但没有任何待处理的内容

    我有一个以前没有遇到过的问题 即使我没有什么可提交的 并尝试将我的分支重置为 Sourcetree 显示的最新提交Uncommitted changes 根据 Atlassian 论坛的说法 通常有两个原因 您的工作目录中有很多很多未暂存的
  • Git 拉回 master 中的提交?

    一位同事 我们称之为亚伦 被指派翻新网站的一部分作为长期项目 他创建了一个新的 Git 分支 名为aaron 他所有的改变都是在这个分支上进行的 当他工作时 我继续维护整个网站 将我的更改提交给master 最终 Aaron 将他的分支合并
  • 由于合并而不允许 git revert 但未给出 -m 选项

    我正在尝试使用 revert 命令恢复到 git 中的某个 哈希 号 我正在使用以下命令 git revert c14609d74eec3ccebafc73fa875ec58445471765 但是 我得到以下返回 错误 提交 c14609
  • 有没有办法列出Git中未修改的文件?

    我从另一个来源以 tarball 的形式获取了一些更改 我想知道哪些文件没有更改 目标是 Git 克隆 因此可以轻松查看新增内容和更改内容 有人知道如何获取未更改内容的列表 不包括未跟踪的内容 吗 编辑 换句话说 我希望利用 Git 来查找
  • 判断 Git 提交是否是合并/恢复提交

    我正在编写一个脚本 需要检查特定提交是否是合并 恢复提交 我想知道是否有 git 技巧 到目前为止我想到的 我绝对不想依赖这里的提交消息 是检查HASH 2看看我是否没有收到错误 是否有更好的方法 判断某个东西是否是合并很容易 这是不止一位
  • Git 子模块:[电子邮件受保护]:权限被拒绝(公钥)。致命:无法从远程存储库读取

    我有一个问题git submodule update init remote 我收到错误 权限被拒绝和克隆失败 但我将 SSH 密钥添加到了我的 github 存储库中 我可以拉 推 git 克隆 我拥有所有需要的访问权限 我使用操作系统
  • Git:如何使外部存储库和嵌入式存储库作为通用/独立存储库工作?

    我有一个大项目 比方说A repo 其中有一个子文件夹来自B repo 当我提交时 我会遇到如下警告A repo warning adding embedded git repository extractor annotator serv
  • 有没有办法缓存 https 凭据以推送提交?

    我最近转而将我的存储库同步到 GitHub 上的 https 由于防火墙问题 并且每次都要求输入密码 有没有办法缓存凭据 而不是每次都进行身份验证git push 自 Git 1 7 9 2012 年发布 以来 Git 中有一个巧妙的机制可
  • 如何修复树与树之间的 Git 错误断开链接?

    我的事务被中断 当我再次尝试时 我遇到了空或损坏的对象错误 在另一个问题之后 我删除了所有空文件 当我运行时 git fsck full 我收到这个错误 Checking object directories 100 256 256 don
  • Git 无效的修订范围 Symfony2 Composer 外部包

    RuntimeException Failed to execute git log 18efcf67d236d5bbf46ac67820250dffd0474b6e 94e2146f525fa1367e15646fa273e5b34f92
  • Git:如何变基到特定提交?

    我想变基到特定的提交 而不是另一个分支的 HEAD A B C master D topic to A B C master D topic 代替 A B C master D topic 我怎样才能做到这一点 您可以通过在您喜欢的提交上创
  • git diff 在尖括号中显示 unicode 符号

    我有一个带有 unicode 符号 俄语文本 的文件 当我修复一些拼写错误时 我使用git diff color words 看看我所做的改变 如果是 unicode 西里尔文 符号 尖括号会造成一些混乱 如下所示 cat p1 cat p
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • 推送时发生 Git 错误 - update_ref 失败

    当我尝试推送本地提交时遇到问题 这可能是在 Android Studio 崩溃时发生的 这是错误 update ref 引用 refs remotes origin master 失败 无法锁定 ref refs remotes origi
  • IntelliJ:查看本地和 git 提交/分支之间所有已更改文件的差异

    使用 IntelliJ 的 diff 查看器是检查代码的一种非常好的方法 因为您可以使用 IntelliJ 代码编辑器的所有功能 重构 完成等 在本地版本中进行更改 不幸的是 我还没有弄清楚当你在 IntelliJ 中进行代码审查时如何做最
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • 如何将更改移出主分支

    基本问题 但这一直发生在我身上 进行更改working branch 切换到master git merge working branch git push cap deploy 到舞台 泡一杯新茶 然后我回来思考其他事情并开始做出一些改变
  • 如何 git grep 仅一组文件扩展名

    如何执行 git grep 并将检查的文件限制为一组文件 我希望能够 grep cpp 和 h 文件的内容来查找 MyFunc 例如 git grep MyFunc hc 但是 这也匹配 c 文件和 cs 文件 Use git grep M
  • 为什么我无法创建/签出该分支?

    我正在尝试创建本地 Git 分支 但它不起作用 以下是我正在使用的命令 tablet edit11 git checkout b edit 11 Switched to a new branch edit 11 tablet edit11
  • git reset 命令中的 ~1 是什么意思?

    git 重置 HEAD 1 我的印象是 1 的意思是 从 HEAD 开始 遵循 1 链接 并将 HEAD 标签设置为新的提交节点 我正期待着 git 重置 HEAD 2 跟随 2 个链接 然后设置 HEAD 标签 但是 如果我尝试它 我会收

随机推荐

  • 一个价值一千五的外包项目!抓取大众点评的店铺信息!

    前言 今天在群里有人派外包的其中一个是抓取大众点评的店铺信息 价格一千五 三天内完成 很多刚学编程的小伙伴 应该觉得这个一千五也太容易拿了 相对于大众点评这个网站 其实不是像爬小说 爬表情包那样容易的 大众点评这个网站它是有反爬的 其实也就
  • Vue——v-slot父组件调用子组件内的值

    首先声明子组件 设置3个slot插槽 分别为header main和默认插槽
  • QT从入门到入土(九)——TCP/IP网络通信(以及文件传输)

    引言 TCP IP通信 即SOCKET通信 是通过网线将服务器Server端和客户机Client端进行连接 在遵循ISO OSI模型的四层层级构架的基础上通过TCP IP协议建立的通讯 控制器可以设置为服务器端或客户端 关于TCP IP协议
  • Ubuntu 之安装 Jenkins

    前提环境 Jenkins 依赖 Java 环境 Jenkins 下载 https mirrors tuna tsinghua edu cn jenkins war 2 300 地址 http mirrors jenkins ci org 首
  • 10个高效的摸鱼神器,你错过几个?

    老话说的好 Chrome 没插件 香味少一半 作为使用过上百个插件的Chrome半资深用户 这儿极力推荐10个插件 除了摸鱼 还能让你的工作学习效率翻高好几倍 1 Global Speed 视频播放提高至16倍速 以往我们看的视频网站 也就
  • Redis - String内存开销问题以及基本/扩展数据类型的使用

    Redis String内存开销问题以及基本 扩展数据类型的使用 一 String 类型内存开销问题 1 1 SDS 结构 1 2 RedisObject 结构 1 3 String 类型的内存布局优化 1 4 压缩列表的优势 二 Redi
  • [安全攻防进阶篇] 二.如何学好逆向分析、逆向路线推荐及吕布传游戏逆向案例

    从2019年7月开始 我来到了一个陌生的专业 网络空间安全 初入安全领域 是非常痛苦和难受的 要学的东西太多 涉及面太广 但好在自己通过分享100篇 网络安全自学 系列文章 艰难前行着 感恩这一年相识 相知 相趣的安全大佬和朋友们 如果写得
  • PyCharm远程连接Spark

    PyCharm远程连接Spark 使用PyCharm连接远程服务器 总结一下完善的步骤 连接前一定要保证集群已经可以运行pyspark程序 1 添加SFTP连接 找到菜单Tool gt Deployment gt Configuration
  • Java学习资料

    Javadoop https javadoop com 公众号 Java学习录 https mp weixin qq com s xqDPttr53rxLBi8t8kIQDg bugstack 虫洞栈 https bugstack cn
  • IO学习系列之使用read和write复制文件内容

    read函数 功能 从文件fd中读取count个字节 存放进指针buf 具体内容 include
  • forest--声明式HTTP客户端框架-spring-b oot项目整合

    Forest 是一个开源的 Java HTTP 客户端框架 它能够将 HTTP 的所有请求信息 包括 URL Header 以及 Body 等信息 绑定到您自定义的 Interface 方法上 能够通过调用本地接口方法的方式发送 HTTP
  • 基于MATLAB的BP神经网络的数据分类

    1 BP神经网络的简介 BP神经网络是一种多层前馈神经网络 该网络的主要特点是信号前向传递 误差反向传播 在前向传递中 输入信号从输出层经隐含层逐层处理 直至输出层 每一层神经元状态只会影响下一层神经元状态 如果输出层得不到期望输出 则转入
  • 添加视频字幕后期制作Premiere Pro 2022中文

    Premiere Pro 2022是一款PR视频剪辑软件 同时支持M1 M2芯片和Intel芯片安装 可以帮助用户提升自己的创作能力和创作自由度 具有易学 高效 精确的优点 可为用户提供采集 剪辑 调色 美化音频 字幕添加 输出 DVD刻录
  • Google发布VS Code,支持Kubernetes应用开发

    VS Code以及IntelliJ适合用来开发本地端应用开发 但在开发云端应用的时候 Google提到 因为本地端与云端执行环境的差异 部分云端应用会抱错误 要在开发周期的后期才能被发现 而Cloud Codes能有效改善这个问题 由于是第
  • Ubuntu实时监控网速、CPU、内存

    Ubuntu实时监控网速 CPU 内存 sudo add apt repository ppa fossfreedom indicator sysmonitor sudo apt get update sudo apt get instal
  • 【Python】数据可视化-散点图绘制

    Python在数据科学中拥有十分重要的地位 numpy scipy pandas scikit learn这些高效易用 接口统一的科学计算包使其在数据分析处理过程更加方便快捷 其强大的数据可视化工具也是重要组成部分 在Python中 使用的
  • linux基本命令与终端操作、linux命令英文全称解释、ls clear cd pwd cat touch cp rm rmdir mkdir mv file find grep sudo su

    linux终端的命令提示符 命令提示符由四部分组成 当前登陆的用户名 主机名 当前所在目录 用户提示符 linux基本命令 查看目录下文件及文件夹 ls 英文全称 助记 list 命令参数 a all 输出所有文件及文件夹 包括隐藏文件 l
  • LoFTR配置运行: Detector-Free Local Feature Matching with Transformers ubuntu18.04 预训练模型分享

    刚装好系统的空白系统ubuntu18 04安装 首先进入 软件与更新 换到国内源 论文下载 代码下载 1 anaconda 3 5 3 安装 Index of anaconda archive 清华大学开源软件镜像站 Tsinghua Op
  • Redis进阶

    一 Redis集群和分布式锁 1 1 Redis集群的概念和优势 Redis集群是一种分布式系统架构 它将多个Redis实例组成一个逻辑集群 实现数据的分布式存储和高可用性 每个Redis实例负责存储集群中的一部分数据 通过节点之间的协调和
  • 【Git】Linux系统下Git的升级

    Git 在很多发行版的 Linux 系统里的版本都很低 比如说比 2 18 这个版本还低 这里比较的一般就是码农的本地环境 因为本地 Mac 系统等等大家经常用到的预装的 Git 的版本都比较深 Git 的版本太低有很多衍生问题 除了本身