文章目录

    • ✅ 方法一:使用 `yum` 或 `dnf` 包管理器安装(推荐)
      • 1. 更新系统软件包(非必须)[^1]
      • 2. 安装 Git
      • 3. 验证安装
    • ✅ 方法二:从源码编译安装(适用于需要自定义版本或配置)
      • 1. 安装依赖包
      • 2. 下载 Git 源码
      • 3. 编译并安装
      • 4. 验证安装
    • ✅ 方法三:使用 Snap 安装(适用于 CentOS 8 及以上)
    • ✅ 配置 Git 用户信息
    • 🚨 常见问题及解决方法
    • ✅ 总结
    • 🔁 验证安装后的 Git 功能

在 CentOS 系统中安装 Git 工具的完整步骤如下,涵盖 使用包管理器安装源码编译安装验证安装配置 Git 用户信息 等关键环节。


✅ 方法一:使用 yumdnf 包管理器安装(推荐)

1. 更新系统软件包(非必须)1

# 使用 yum(适用于 CentOS 7 及更早版本)
sudo yum update -y# 或使用 dnf(适用于 CentOS 8 及以上版本)
sudo dnf update -y

2. 安装 Git

# 使用 yum
sudo yum install git -y# 或使用 dnf
sudo dnf install git -y

3. 验证安装

git --version

预期输出:

git version 2.x.x

✅ 方法二:从源码编译安装(适用于需要自定义版本或配置)

1. 安装依赖包

sudo yum groupinstall "Development Tools" -y
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y

2. 下载 Git 源码

# 访问 Git 官方网站获取最新版本:https://git-scm.com/
# 示例:安装 Git 2.40.0
wget https://github.com/git/git/archive/v2.40.0.tar.gz
tar -xzf v2.40.0.tar.gz
cd git-2.40.0

3. 编译并安装

make prefix=/usr/local all
sudo make prefix=/usr/local install

4. 验证安装

/usr/local/bin/git --version

✅ 方法三:使用 Snap 安装(适用于 CentOS 8 及以上)

# 安装 snapd
sudo dnf install snapd -y
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap# 安装 Git
sudo snap install git --classic# 验证安装
git --version

✅ 配置 Git 用户信息

安装完成后,建议配置 Git 的全局用户名和邮箱:

# 设置用户名
git config --global user.name "Your Name"# 设置邮箱
git config --global user.email "your_email@example.com"# 查看配置
git config --list

🚨 常见问题及解决方法

问题解决方案
安装失败确保系统已更新:sudo yum update -y
版本过旧使用源码编译安装最新版本
下载速度慢使用国内镜像加速(如阿里云):wget https://mirrors.aliyun.com/apache/maven/maven-3/...
找不到 git 命令检查环境变量 PATH 是否包含 /usr/local/bin(源码安装时需手动添加)

✅ 总结

方法适用场景优点缺点
yum/dnf 安装快速安装默认版本简单快捷版本可能较旧
源码编译安装需要自定义版本或配置完全控制步骤复杂
Snap 安装CentOS 8 及以上用户简单快捷依赖 snapd

🔁 验证安装后的 Git 功能

  1. 初始化仓库

    mkdir my-git-project
    cd my-git-project
    git init
    
  2. 添加文件并提交

    echo "Hello, Git!" > README.md
    git add README.md
    git commit -m "Initial commit"
    
  3. 查看状态

    git status
    

通过以上步骤,您已成功在 CentOS 系统中安装并配置了 Git 工具。如果需要进一步优化(如配置私有仓库或代理),请参考 Git 官方文档。


  1. 我的系统是最新的CentOS Stream 10,无须再次更新 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/94147.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/94147.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/94147.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VR交通安全学习机-VR交通普法体验馆方案

VR交通安全学习机是一种基于虚拟现实技术的互动式教育设备,旨在通过虚拟环境模拟真实的交通场景,帮助用户深入了解交通规则、交通信号、道路安全等知识,并通过沉浸式的体验让他们亲身感受到不遵守交通规则的后果。无论是驾驶员、行人还是骑行…

算法题(188):团伙

审题: 本题需要我们通过解析所有人之间的关系,从而判断出朋友团体的总个数并输出 思路: 方法一:扩展域并查集 由于这里涉及对朋友/敌人等关系集合的频繁操作,所以我们需要使用并查集来操作,但是普通的并查集…

C++开发/Qt开发:单例模式介绍与应用

单例模式是软件设计模式中最简单也是最常用的一种创建型设计模式。它的核心目标是确保一个类在整个应用程序生命周期中只有一个实例,并提供一个全局访问点。笔者白话版理解:你创建了一个类,如果你希望这个类对象在工程中应用时只创建一次&…

Linux笔记---策略模式与日志

1. 设计模式设计模式是软件开发中反复出现的问题的通用解决方案,它是一套套被反复使用、多数人知晓、经过分类编目的代码设计经验总结。设计模式并非具体的代码实现,而是针对特定问题的抽象设计思路和方法论。它描述了在特定场景下,如何组织类…

关于多个el-input的自动聚焦,每输入完一个el-input,自动聚焦到下一个

讲解原理或者思路:如果你有多个el-input,想要实现每输入完一个输入框,然后自动聚焦到下一个输入框,同理,如果每删除一个输入框的值,自动聚焦到上一个输入框。条件那么首先要做的就是,设置条件,在…

AI 赋能教育变革:机遇、实践与展望

引言说明教育在社会发展中的重要地位,以及传统教育面临的困境。引出 AI 技术为教育变革带来新机遇,阐述研究其在教育中应用的价值。AI 为教育带来的机遇个性化学习支持:讲解 AI 通过分析学生学习数据,如答题情况、学习时间等&…

(一)八股(数据库/MQ/缓存)

文章目录 项目地址 一、数据库 1.1 事务隔离级别 1. 事务的四大特性 2. Read Uncommited脏读(未提交读) 3. Read Commited幻读(sql默认已提交读) 4. Repeatable Read 5. Serializable 6. Snapshot(快照隔离) 7. 代码开启 8. For update和Repeatable Read的区别 1.2 各种锁 …

STM32H750 CoreMark跑分测试

STM32H750 CoreMark跑分测试🔎CoreMark跑分测试查询网站:https://www.eembc.org/coremark/scores.php📜 CoreMark源码:https://www.github.com/eembc/coremarkCoreMark移植和配置参考:https://community.st.com/t5/stm…

RabbitMQ如何确保消息发送和消息接收

消息发送确认 1 ConfirmCallback方法 ConfirmCallback 是一个回调接口,消息发送到 Broker 后触发回调,确认消息是否到达 Broker 服务器,也就是只 确认是否正确到达 Exchange 中。 2 ReturnCallback方法 通过实现 ReturnCallback 接口&#xf…

Linux:进程间通信-管道

Linux:进程间通信-管道 前言:为什么需要进程间通信? 你有没有想过,当你在电脑上同时打开浏览器、音乐播放器和文档时,这些程序是如何协同工作的?比如,浏览器下载的文件,为什么能被文…

Jmeter + FFmpeg 直播压测遇到的问题及解决方案

1、压测机安装FFmpeg,下载安装步骤可见:https://zhuanlan.zhihu.com/p/692019886 2、Jmeter与FFmpeg位数要一致,不允许在32位的进程中运行一个64位的程序,反之亦然 3、OS进程取样器(Thread Group -> Add -> Sa…

安卓app、微信小程序等访问多个api时等待提示调用与关闭问题

安卓app、微信小程序访问webapi,将需要一时间,我们称之为耗时操作,其它诸如密集型计算、访问文件与设备等亦是如此。在这个期间我们应该跳出提示,告知用户正在等待,并且很多时候,在等待时不允许用户再对UI进…

一个状态机如何启动/停止另一个状态机

一个状态机如何启动/停止另一个状态机 这个过程主要依赖于动作列表(Action List) 中的特定动作项和状态管理服务(ARA::SM)提供的API。 1. 通过动作列表(Action List)进行预配置控制 这是最常见的方式&#…

基于IPO智能粒子优化的IIR滤波器参数识别算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.部分程序 4.算法理论概述 5.完整程序 1.程序功能描述 IIR(Infinite Impulse Response)滤波器即无限冲激响应滤波器,其输出不仅与当前和过去的输入有关,还与过去的输出…

欧州服务器String 转 double 有BUG?

string 转 double 的常见问题通常与文化差异、格式解析或特殊值处理相关,而非框架本身的 “BUG”。以下是可能导致转换异常的常见场景及解决方案: 文化差异导致的解析问题 现象:同样的字符串(如 “1.23” 或 “1,23”)…

鸿蒙中网络诊断:Network分析

上面的图很熟悉吧 Network 面板的表格列出了所有请求,每一列都提供了关键信息: Name: 请求的资源名称和路径。 Status: HTTP 状态码(诊断核心)。200成功,304未修改(缓存),404找不到…

HarmonyOS 实战:6 种实现实时数据更新的方案全解析(含完整 Demo)

摘要 在当下的应用开发中,用户体验越来越依赖“实时性”。消息要第一时间送达、订单状态要立刻刷新、数据变化不能延迟……这些需求推动了“实时数据更新”成为应用的必备功能。在鸿蒙系统(HarmonyOS)中,我们既可以用系统内置的数…

第十六届蓝桥杯青少组C++省赛[2025.8.10]第二部分编程题(4、矩阵圈层交错旋转)

参考程序&#xff1a;#include <bits/stdc.h> using namespace std;const int MAXN 105; int a[MAXN][MAXN];int main() {int n;if (!(cin >> n)) return 0;for (int i 0; i < n; i)for (int j 0; j < n; j)cin >> a[i][j];int layers n / 2; // 每…

AI供应链情报预警 | 恶意Py包伪装AI框架库开展数据窃密及应用劫持攻击

AI供应链情报概述近日&#xff08;18th Aug. , 2025&#xff09;&#xff0c;悬镜安全情报中心在Python官方仓库中捕获1起伪装成知名AI框架库pytensor&#xff08;https://pypi.org/project/pytensor&#xff09;的组件投毒事件。在北京时间8月18日凌晨&#xff0c;投毒者连续发…

AI需要防火墙,云计算需要重新构想

Akamai创始人Tom Leighton欲终结云膨胀&#xff0c;从内到外守护AI安全 Akamai创始人Tom Leighton 当前超大规模云服务商主导着企业IT市场&#xff0c;鲜有人敢挑战云计算经济模式、AI基础设施和网络安全架构的现状。但Akamai联合创始人兼CEO Tom Leighton正是这样的挑战者。他…