先说结论:查看 Git 版本只需 git --version,但更新前还要确认当前调用的是哪一个 Git、由哪个包管理器安装,以及业务是否依赖特定版本。Linux 应优先使用发行版包管理器,macOS 使用 Xcode Command Line Tools、Homebrew 或官方安装包中的一种,Windows 使用 Git for Windows 官方安装包或 winget。不要用旧教程中的 Homebrew 安装脚本,也不要把“命令执行成功”等同于已经切换到目标版本。
先识别 Git 的来源和实际执行路径,再选择同一渠道更新。
先检查当前 Git 版本和来源
git --version
command -v git
type -a git
git --exec-path
git --version 显示当前终端实际调用的版本;command -v 和 type -a 用来发现系统中是否同时存在多份 Git。常见情况包括:
Linux 发行版包与手工编译版本并存;
macOS 的 Apple Git 与 Homebrew Git 并存;
Windows 的系统 PATH 仍指向旧的 Git for Windows;
CI Runner、IDE 和终端使用不同 PATH;
容器内 Git 与宿主机版本不同。
如果更新后版本没有变化,先关闭并重新打开终端,再检查 PATH,而不是重复安装。
更新前要备份什么?
Git 更新一般不会改动仓库历史,但配置、凭据助手、钩子和外部工具可能受影响。更新前保存:
git config --list --show-origin
git config --global --get-regexp '.*'
同时记录 Git LFS、签名工具、凭据助手、代理、SSH、IDE 和 CI 的版本。生产服务器或构建节点先在同系统测试,不在发布窗口中临时升级。
Linux 如何更新 Git?
Git 官方安装文档建议通过发行版包管理器安装。命令会随发行版变化:
Ubuntu / Debian
sudo apt update
sudo apt install --only-upgrade git
git --version
如果尚未安装,可使用 sudo apt install git。发行版仓库提供的是该发行版维护的版本,不一定等于 git-scm.com 当前发布的最高版本,但通常更容易获得兼容的安全修复。
Fedora / RHEL 系列
sudo dnf upgrade git
git --version
旧系统可能使用 yum,但不应为了获取新版 Git 继续在停止维护的操作系统上运行生产业务。系统生命周期问题应先处理,参考CentOS 7 迁移方案。
为什么不默认从源码编译?
源码安装适合明确需要新功能、能维护编译依赖和更新流程的团队。手工安装到 /usr/local 后,包管理器通常不知道它的存在,后续安全更新也不会自动替你升级。必须使用源码时,从 Git 官方下载页或发布仓库获取固定版本,核验签名或校验值,并记录卸载和回退步骤。
版本号之外,还要确认命令路径、配置来源和工具兼容。
macOS 如何更新 Git?
先用 type -a git 判断来源。
Homebrew 安装的 Git
brew update
brew upgrade git
brew --prefix git
git --version
如果更新完成后仍显示 Apple Git,检查 Homebrew 的 bin 目录是否在 PATH 前部。Apple Silicon 与 Intel Mac 的 Homebrew 路径可能不同,不要照抄他人的绝对路径。
Xcode Command Line Tools 提供的 Git
通过 macOS 的系统更新维护 Command Line Tools。首次执行 git --version 时,系统也可能提示安装。它不一定是上游最新版本,但与 Apple 工具链配套。
官方安装包
需要单独安装时,从 Git 官方安装页进入 macOS 下载入口。更新后重新打开终端并检查实际路径。
Windows 如何更新 Git?
winget
winget upgrade --id Git.Git -e --source winget
git --version
where.exe git
若 winget 提示没有可用升级,先确认当前 Git 是否也是通过该包识别。官方 Windows 下载页提供当前维护版本和安装包;不要从第三方软件下载站获取。
Git for Windows 内置更新
git update-git-for-windows
该命令适用于支持它的 Git for Windows 版本。企业设备若由 IT 管理,应遵循软件分发策略,不自行绕过权限或代理。
更新后怎样验证?
重新打开终端,执行 git --version 与路径检查;
执行 git config --list --show-origin,确认配置来源未意外变化;
在测试仓库完成 clone、status、fetch、checkout 和 commit;
验证 HTTPS 与 SSH 两种远程方式中实际使用的一种;
检查 Git LFS、提交签名、凭据助手和代理;
在 CI 中运行一条非生产流水线;
确认 IDE 使用的 Git 路径与终端一致。
不要为了验证而直接在重要仓库执行破坏性命令。可以新建临时目录和测试仓库完成检查。
常见问题排查
现象
原因与处理
更新后版本没变
PATH 指向另一份 Git;检查 type -a/where 并重启终端
git 命令找不到
安装目录未进入 PATH,或终端未加载新环境
HTTPS 拉取失败
证书、代理、凭据助手或系统时间;不要关闭 TLS 校验掩盖问题
SSH 拉取失败
密钥、agent、known_hosts、权限和远端账号
CI 突然失败
Runner 镜像或 PATH 未更新,或新版本改变默认行为
仓库提示 dubious ownership
检查目录所有者和运行账号,不盲目把所有目录加入 safe.directory
服务器上的 Git 应怎样维护?
生产服务器不要把 Git 仓库当成唯一发布系统。更稳妥的流程是:在 CI 构建可追踪制品,经审核部署到服务器,并保留回退版本。若服务器必须拉取代码,应使用低权限部署账号、只读密钥、固定分支或提交,并记录变更。
需要独立构建、测试或 CI 环境时,先按VPS 配置指南估算并发和磁盘,再按用户与依赖选择地域。确认要自管环境后,可在萤光云 VPS 产品页核对当前节点与配置。
常见问题
必须更新到上游最新版本吗?
不一定。优先满足安全、兼容和功能需求。发行版维护版本可能不是数字最高,但仍得到维护。
更新 Git 会破坏仓库吗?
正常更新不会改写提交历史,但配置、凭据、钩子、LFS 和工具链兼容仍需验证。
可以同时安装多份 Git 吗?
可以,但必须明确 PATH 和使用场景,否则终端、IDE 与 CI 可能调用不同版本。
相关推荐
Debian 13 部署与维护
VPS 操作系统选择
VPS 安全设置
云服务器备份与恢复
升配前检查清单