服务器上如何搭建git,git服务器搭建步骤是什么?

服务器搭建git并非难事,只需选对系统、装好依赖、走通SSH认证,就能在半小时内拥有一套可用的代码托管环境。

服务器安装git前,先想清楚这3个问题

很多人在服务器搭建git时直接开干,结果后面频繁返工,动手之前,花两分钟梳理需求,能省下不少时间。

搭建git服务器
加载中

第一个问题:你的服务器是哪种系统?

国内主流服务器系统分为Debian系(Ubuntu、Debian)和RedHat系(CentOS、Rocky Linux、Alibaba Cloud Linux),不同系统的包管理器不一样,安装命令也不同,用错命令,大概率会卡在依赖报错上。

第二个问题:你打算用git裸仓库还是GitLab?

如果只是个人项目或小团队协作,一行命令创建裸仓库就够了,轻量、稳定、零维护成本,如果团队人数多、需要权限管理和代码审查,那就得考虑部署GitLab或Gitea,前者吃内存,2G内存的服务器跑起来会很吃力;后者是轻量替代方案,几百兆内存就能跑。

第三个问题:你的服务器安全组开放了22端口吗?

这是新手最容易忽略的坑,无论你用哪家云厂商,安全组规则默认可能只开放了80和443,SSH连接不上,git推送自然无从谈起,登录云控制台,确认22端口已放行,再继续下一步。

服务器搭建git全流程:从安装到跑通推送

在Debian/Ubuntu系服务器上安装git

登录服务器后,先更新软件源,再安装git:

sudo apt update
sudo apt install git -y

安装完成后,可以顺手验证一下版本:

git --version

看到类似 git version 2.43.0 的输出,就说明安装成功了。

在CentOS/Rocky Linux系服务器上安装git

RedHat系系统默认自带git,但版本偏老,如果想要新版本,需要先启用EPEL源:

sudo yum install epel-release -y
sudo yum install git -y

如果你用的是Alibaba Cloud Linux,同样走这套流程,因为它的底层兼容RHEL。

创建git专用用户,避免root直接操作

行业共识认为,用root账号跑git服务存在较大的安全风险,一旦代码仓库被攻破,攻击者就拿到了服务器最高权限,正确的做法是创建一个专用用户:

sudo adduser git
sudo passwd git

后续所有git相关操作都通过这个账号执行,创建完成后,把git用户加入sudo组,方便安装后续组件:

sudo usermod -aG sudo git

初始化git裸仓库

假设你要为项目 blog 搭建仓库,先切换到git用户,然后在home目录下创建裸仓库:

服务器上如何搭建git,git服务器搭建步骤是什么?

su - git
mkdir -p ~/repos
cd ~/repos
git init --bare blog.git

裸仓库和普通工作目录的区别在于:裸仓库没有工作区,只保存版本历史,专门用于接收推送,这是服务器端标准做法。

配置SSH密钥认证,免密推送

用密码推送git仓库每次都要输入密码,体验很差,配置SSH公钥认证后,推送就像本地操作一样顺滑。

第一步:在本地电脑生成密钥

如果你本地还没有SSH密钥,执行:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

一路回车即可,生成的公钥默认在 ~/.ssh/id_rsa.pub。

第二步:把公钥上传到服务器

ssh-copy-id git@your_server_ip

如果没有 ssh-copy-id 命令,也可以手动把公钥内容追加到服务器的 ~/.ssh/authorized_keys 文件里。

第三步:验证免密登录

ssh git@your_server_ip

顺利登进去,说明SSH认证配置完成。

本地克隆仓库并推送代码

服务器端的仓库是空的,接下来在本地电脑上克隆并推送:

git clone git@your_server_ip:/home/git/repos/blog.git
cd blog
echo "# My Blog" > README.md
git add .
git commit -m "init"
git push origin master

推送成功后,服务器搭建git的完整链路就算跑通了。

服务器搭建git后,如何管理多用户权限

多人协作时,你不可能把服务器密码告诉每个人,正确的做法是:每个成员生成自己的SSH密钥,把公钥统一添加到git用户的 authorized_keys 文件里。

但这里有个问题:所有成员都共用git账号,无法区分谁推送了代码,解决思路有两种。

为每个成员创建独立账号

sudo adduser alice
sudo adduser bob

然后为每个账号创建仓库目录,设置好目录权限,这种方式权限隔离最彻底,但账号多了之后管理成本较高。

部署Gitea轻量管理平台

如果你嫌命令行管理用户太麻烦,可以在服务器上装一个Gitea,它是开源的轻量git服务,支持Web界面管理用户、仓库和权限,内存占用低,2G内存的服务器跑起来毫无压力。

安装方式很简单,直接下载官方二进制包:

wget -O gitea https://dl.gitea.com/gitea/1.22.0/gitea-1.22.0-linux-amd64
chmod +x gitea
./gitea web

然后通过浏览器访问 http://your_server_ip:3000 完成初始化配置,首次安装时选择SQLite数据库即可,不需要额外装MySQL。

服务器上如何搭建git,git服务器搭建步骤是什么?

小组协作的权限分配建议

  • 核心成员赋予写权限,可以推送代码和合并分支
  • 外围成员只给读权限,只能拉取代码
  • 定期轮换SSH密钥,避免员工离职后仍然保留访问权限

服务器搭建git常见报错和解决方案

报错:Permission denied (publickey)

这个提示说明SSH密钥认证失败,多数情况下是公钥没配对,或者本地用了错误的密钥文件,排查顺序:

ssh -vT git@your_server_ip

查看详细输出,确认是否加载了正确的密钥,检查服务器上 ~/.ssh/authorized_keys 文件的权限,必须是600,~/.ssh 目录权限必须是700。

报错:fatal: could not read Username for ‘https://github.com’

这个错误出现在你用了HTTPS方式克隆GitHub仓库,但服务器没有配置GitHub凭据,解决办法是改用SSH方式克隆,或者配置credential helper:

git config --global credential.helper store

报错:Cannot create directory ‘/home/git/.ssh’

这是因为git用户的家目录权限不对,修复命令:

sudo chown -R git:git /home/git
sudo chmod 700 /home/git/.ssh

服务器搭建git和用GitHub,怎么选

很多人在服务器搭建git之前会纠结:直接用GitHub不香吗?为什么要自己折腾?

用GitHub的优势在于零运维、生态完善。 CI/CD、Issue管理、代码审查一应俱全,不用自己维护任何东西,对于公开项目来说,GitHub是最佳选择。

服务器搭建git的优势在于数据自主可控。 代码存放在自己的服务器上,不经过第三方平台,适合企业内部项目或对数据敏感的场景,国内服务器访问GitHub经常不稳定,推送大文件时速度堪忧,自建git仓库则没有这个问题。

还有一种折中方案: 本地代码推送到GitHub,同时通过git hook自动同步到服务器,这样既享受了GitHub的协作生态,又保留了服务器端的备份,具体做法是在服务器裸仓库的 hooks/post-receive 文件里写几行同步脚本:

#!/bin/bash
GIT_WORK_TREE=/path/to/your/project git checkout -f

保存后赋予执行权限:

chmod +x hooks/post-receive

这样每次推送代码,服务器上的项目目录就会自动更新。

服务器搭建git的安全加固措施

禁用git用户密码登录

既然已经配置了SSH密钥,就不需要密码登录了,编辑服务器上的SSH配置文件:

sudo vim /etc/ssh/sshd_config

添加或修改:

服务器上如何搭建git,git服务器搭建步骤是什么?

Match User git
    PasswordAuthentication no

重启SSH服务后,git用户只能通过密钥登录,密码登录被彻底关闭。

限制git用户可执行命令

在 ~/.ssh/authorized_keys 文件开头添加:

command="/usr/bin/git-shell -c "$SSH_ORIGINAL_COMMAND"",no-port-forwarding,no-X11-forwarding,no-agent-forwarding

这样git用户只能执行git相关命令,无法通过SSH进入shell,这是Git官方推荐的安全做法。

定期备份仓库

git仓库本质上就是普通目录,备份很简单,用cron定时任务做增量备份:

0 2    tar -czf /backup/git-$(date +%Y%m%d).tar.gz /home/git/repos

恢复时解压备份文件,重新指定 git 用户权限即可。

服务器搭建git多少钱,成本高吗

这是很多人关心的问题。如果用的是云服务器,搭建git服务并不会额外增加费用,你只需要支付服务器本身的费用。

以国内主流云厂商为例,一台2核4G的云服务器,包年费用大概在几百到一千多元之间,跑Gitea或纯git仓库完全够用,顺带还能部署其他服务。

如果服务器上只跑git服务,1核2G的入门配置就足够了。纯git仓库对资源消耗极小,1G内存跑几十个仓库都没压力,即便是Gitea,2G内存也能流畅运行。

相比使用第三方Git托管服务的企业版收费,自建git服务器的成本优势相当明显,而且数据和代码完全在自己手里,不依赖外部平台的稳定性。

Q&A:服务器搭建git常见疑问

服务器搭建git后,怎么把已有项目导入进去?

在服务器上创建好裸仓库后,本地已有项目执行:

cd existing-project
git remote add origin git@your_server_ip:/home/git/repos/existing-project.git
git push -u origin master

如果项目之前关联过其他远程仓库,先执行 git remote remove origin 再添加。

服务器搭建git和搭建GitLab有什么区别?

git是一个版本控制工具,GitLab是基于git的Web平台,搭建git只需要安装一个命令行工具,搭建GitLab则需要部署一套完整的Web应用,对服务器内存和CPU要求更高。如果只需要代码托管,搭建git就够用了;如果需要Web界面、代码审查和CI/CD,再考虑GitLab。

云服务器上搭建git,地域选哪里比较好?

如果团队和用户都在国内,选择华东、华南等地域的服务器,访问速度快,如果团队成员分布在海内外,可以选香港地域,兼顾两边的访问速度,国内地域的服务器需要完成备案才能绑定域名,但仅用IP访问git服务不受影响。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%a6%82%e4%bd%95%e6%90%ad%e5%bb%bagit%ef%bc%8cgit%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%90%ad%e5%bb%ba%e6%ad%a5%e9%aa%a4%e6%98%af%e4%bb%80%e4%b9%88%ef%bc%9f/

赞 (0)
IT运维服务管理平台培训服务怎么选,有哪些关键要素?
上一篇 2026年8月8日 07:32
大型服务器选购时需要注意哪些参数?,怎么选
下一篇 2026年8月8日 07:35

相关推荐

  • 黑色星期五来了怎么用美刀狂购主机域名VPS?,黑五优惠有哪些

    黑五确实是一年里买主机、域名、VPS最划算的窗口,但前提是你得提前做好功课,别被眼花缭乱的折扣带着跑,我的建议是:预算范围内,优先选大厂或老牌服务商的长周期套餐,域名则盯着注册商的黑五专属价,别贪图首年超低价而忽略了续费陷阱,2026黑色星期五VPS优惠到底值不值每年十一月的最后一个星期五,是整个互联网服务商集……

    2026年8月30日
    200
  • 服务器配置用i9性能怎么样?,值得买吗?

    服务器配置用i9,在特定场景下是高性能选择,但绝非所有服务器任务的万能答案,需结合稳定性、扩展性和成本综合考量,为什么你的服务器该考虑i9i9处理器进入服务器领域,打破了以往至强垄断的局面,它的高频与多核平衡,让不少中小型业务找到了新出路,单核性能优势带来的实际收益i9的单核频率通常比同代至强高出20%-30……

    2026年7月30日
    1500
  • 国外的商标怎么购买?国外商标注册流程及费用详解

    在当前的互联网基础设施搭建过程中,服务器IP的质量往往决定了业务的成败,尤其是对于需要开展跨境业务、品牌出海的企业而言,纯净的IP资源更是稀缺,很多技术团队在部署业务时,常常面临IP被标记、端口被封禁的风险,这通常与服务器所在的IP段历史记录有关,为了解决这一痛点,我们近期对市场上热门的跨境服务器方案进行了深度……

    2026年3月21日
    11200
  • 哪些Windows VPS便宜又好用?,性价比高的有哪些?

    如果预算有限又必须用Windows环境,直接选HostHatch的NVMe系列或RackNerd的年付套餐,性价比最高,综合体验最稳,很多朋友问:“便宜的Windows VPS推荐有哪些?”说实话,便宜和好用往往不能兼得,但确实存在一些“甜点位”产品,本文不吹不黑,用个人实测经验,拆解当前主流平价Windows……

    2026年9月20日
    400
  • 东莞高防服务器哪家好?滴盾安全三网独享高防IP怎么样?

    在华南地区的网络架构中,东莞作为极其重要的互联网节点,凭借其毗邻广州、深圳的地理优势以及丰富的骨干网资源,成为了众多企业部署高防业务的首选之地,本次测评对象为滴盾安全推出的广东东莞电信、联通、移动三网独享高防服务器,旨在通过深度测试与数据分析,为广大企业用户在选择高防解决方案时提供详实的参考依据,机房基础设施与……

    2026年2月17日
    23110
  • SurferCloud印尼雅加达轻量云VPS性能如何?U付款支持下的评测揭秘!

    在众多海外云服务商中,SurferCloud以其独特的市场定位引起了广泛关注,特别是其提供的印尼雅加达数据中心轻量应用型VPS,为面向东南亚市场或寻求低延迟亚太线路的用户提供了一个值得考量的选择,以下内容基于实际测试与深入分析,旨在为您提供一份客观、详尽的评估,核心产品:雅加达轻量云VPS深度解析SurferC……

    2026年2月4日
    16600
  • 俄罗斯VPS哪里的好?年度大促海外BGP多线DDR5内存无限流量

    本次年度大促活动聚焦于高性能计算需求,推出的俄罗斯VPS方案采用DDR5内存与无限流量配置,结合海外BGP多线智能网络,旨在为用户提供低延迟、高带宽的计算体验,以下为针对该服务器的详细性能测评与活动解析, 核心硬件性能测试服务器硬件配置是决定计算稳定性的基石,本次测试机型搭载了最新的DDR5内存技术,相较于传统……

    2026年3月3日
    15100
  • VPS新手如何使用Xshell客户端?,连接服务器方法是什么

    新手用VPS最省力的方式,就是直接使用Xshell作为SSH连接工具,它免费、稳定而且不用折腾插件,对照下面的步骤半小时就能完成第一台服务器的远程管理,很多朋友第一次买完VPS,看着服务商发来的IP地址和密码,完全不知道下一步该干嘛,其实管理Linux系统的服务器,核心就是SSH,也就是安全远程连接,Windo……

    2026年9月17日
    400
  • 2026春季越南原生IP怎么选?海外原生IP流量无封顶推荐

    本次测评针对2026年春季海外服务器市场中的热门方案——越南原生IP服务器进行深度解析,该方案基于AMD Ryzen 9处理器打造,主打原生IP属性与不限流量策略,适合多种网络业务场景,以下为详细的硬件性能、网络质量及性价比分析, 硬件配置与计算性能解析在服务器核心硬件方面,该机型搭载了AMD Ryzen 9系……

    2026年3月11日
    16400
  • 2023双11亚马逊云金秋促销,满减AI方案出海,国外VPS评测及优惠,如何选择最合适?

    2023双11亚马逊云金秋全球云促销:深度测评与AI出海实战指南亚马逊云科技(AWS)2023双11全球云促销活动(2023年10月23日-11月30日)为开发者与企业提供了极具竞争力的云服务折扣,本文将从专业视角实测AWS主力VPS机型,结合AI出海场景,解析活动优惠规则,核心促销活动规则满减梯度与适用服务……

    2026年2月3日
    16230

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注