You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7环境下如何查询自托管GitLab使用的Git版本及路径

问题解答

1. GitLab实际使用的Git版本确认

是,GitLab当前实际调用的就是/opt/gitlab/embedded/bin/git路径下的2.29.0版本,判断依据如下:

  • omnibus 方式安装的自托管 GitLab 默认会内置所有依赖组件,不会依赖系统级安装的 Git,内置依赖的二进制默认都放在/opt/gitlab/embedded/bin/路径下
  • 你已经在gitlab.yml配置文件中明确指定了 Git 的调用绝对路径为/opt/gitlab/embedded/bin/git,直接执行该路径的二进制返回的版本2.29.0,和 GitLab 后台「Admin area -> Overview -> Gitaly Servers」页面显示的Git版本完全匹配,Gitaly 页面展示的版本就是 GitLab 实际运行时调用的 Git 版本,是最权威的判断依据
  • 系统执行git --version返回2.8.0是因为当前登录用户的 PATH 环境变量中,/usr/local/git/bin的优先级高于/opt/gitlab/embedded/bin,属于当前用户的 shell 调用优先级逻辑,和 GitLab 的调用逻辑无关,GitLab 会直接读取配置中的绝对路径调用 Git,不会依赖当前用户的 PATH 配置。

2. 冗余Git版本删除建议

可以删除 yum 安装的1.8.3版本和手动编译安装的2.8.0版本,这两个版本都不会被 GitLab 调用,删除不会影响 GitLab 运行,操作前注意以下事项即可:

  • 提前确认服务器上是否存在其他非 GitLab 的业务、脚本、定时任务依赖系统级 Git:如果有服务直接调用git命令且未写绝对路径,删除后会导致相关业务报错,确认无此类依赖后再执行删除操作
  • 删除 yum 安装的 Git 直接执行yum remove git即可,只会删除/usr/bin/git对应的1.8.3版本,不会修改其他路径的文件
  • 删除手动编译的2.8.0版本直接执行rm -rf /usr/local/git/即可,删除后执行hash -r清空当前 shell 的命令缓存,再执行git --version验证删除结果即可
  • 额外提示:当前 GitLab 内置的 Git 版本为2.29.0,尚未达到升级要求的2.31.x标准,后续升级 GitLab 的 omnibus 安装包时,官方包会自动将内置 Git 升级至符合要求的版本,无需手动修改系统级 Git 版本。

内容的提问来源于stack exchange,提问作者user2014521

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 04:24:07