Git基础之(0):如何在Ubuntu(Linux)上安装git

!!!前情提要!!! 复制代码
- 示例系统: Ubuntu
- 虚拟机:   VMware
- 系统:     Ubuntu 24.04.3 LTS
- 架构:     x64

在准备以下操作建议刷新软件包索引,这条命令可以省去后续的很多麻烦

bash 复制代码
sudo apt update

这是一个值得养成的习惯,但它的使用时机和频率是有讲究的,不是每次敲 apt 前都必须来一下

git的安装(三种方案)

主流Linux系统预装git(发行版官方仓库:稳定)

确认是否安装与版本号

bash 复制代码
git --version

查看git可执行文件位置

bash 复制代码
which git    
#典型输出:/usr/bin/git

手动安装git(与预安装装同源)

以管理员身份运行通过 apt 包管理器安装 git

bash 复制代码
sudo apt install git

确认是否安装与版本号

bash 复制代码
git --version

查看git可执行文件位置

bash 复制代码
which git    
# 典型输出:/usr/bin/git

查看 apt 安装的 Git 都有哪些文件

bash 复制代码
dpkg -L git

手动编译安装指定版本 Git(源码)

来源:

GitHub官方维护镜像

Git 项目主仓库

以上两种方法较为简单,此方法对网络有一定需求,可能耗费您一些时间

克隆源码仓库(通常是最新提交)并进入刚克隆下来的git目录

路线 A:克隆仓库(含完整历史,适合开发/切版本)

bash 复制代码
git clone https://git.kernel.org/pub/scm/git/git.git
# 或 git clone https://github.com/git/git
cd git

# 如需切换到某个正式发布版:
git tag -l 'v*' --sort=-v:refname | head
git checkout v2.56.0

路线 B:下载源码包(单版本快照,体积小)

版本号获取:

curl -s https://mirrors.edge.kernel.org/pub/software/scm/git/ | grep -o 'git-[0-9][^"]*.tar.gz' | sort -u

已经安装git,获取版本号:

git ls-remote --tags --sort='v:refname' https://git.kernel.org/pub/scm/git/git.git | tail -10

bash 复制代码
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-<版本号>.tar.gz
tar -zxf git-<版本号>.tar.gz
cd git-<版本号>

安装编译器依赖(可选:如果编译过程至结束无报错可以不做)

bash 复制代码
sudo apt install -y build-essential libssl-dev libcurl4-openssl-dev \
  libexpat1-dev gettext zlib1g-dev

编译

bash 复制代码
pwd            # 确认在源码根目录
ls Makefile    # 有输出即正确
make clean          # 清理之前的失败残留(可选)
make prefix=/usr/local all

安装

bash 复制代码
sudo make prefix=/usr/local install

验证

bash 复制代码
hash -r        # 清除命令缓存,或直接新开终端
/usr/local/bin/git --version
which -a git
git --version
相关推荐
鶴哥只手遮天1 小时前
Git 2.56 源码深度剖析:为 Git 3.0 铺路的架构重构
git·开源
小此方4 小时前
「插曲:Git」标签管理篇:理解Tag标签、为指定提交打标签、查看标签详情与附注标签
git
Madison-No74 小时前
多语言聊天大模型--测试报告
linux·git·python·selenium·jmeter·自动化·postman
小此方5 小时前
「插曲:Git」多人协作篇:远程分支创建与关联、多人协作冲突解决、Feature分支开发与合并、git remote prune清理失效分支
git
可乐ea7 小时前
Git 基础设施重建:智能体规模开发下的读写解耦
大数据·git·elasticsearch·分布式存储·git基础设施·智能体规模开发·读写解耦
信可维9 小时前
AI 说「改完了」怎么确认真改完了:git diff + 测试 + 一张验收表的 3 步复核
人工智能·git
Sun子矜10 小时前
Git+Gitee 新手教程精简归纳版
git·gitee
亿道电子Emdoor11 小时前
【Perforce】Klocwork-kwgcheck图形化界面无法打开如何解决
git·python·github
小此方1 天前
「插曲:Git」企业规范篇:DevOps开发模型、Git Flow五类分支设计与测试/预发布/生产环境Bug修复及Hotfix紧急发布流程
git·bug·devops
溪语流沙1 天前
【Web全栈进阶】JWT无状态认证:签发、校验、刷新
前端·git·python·github