怎么在自己的服务器上搭建一个git

在自己的服务器上搭建Git,本质上就是安装Git软件、创建一个裸仓库,并通过SSH协议让客户端连接,个人使用推荐“Linux服务器+Git裸仓库+SSH”方案,团队协作则推荐部署Gitea或GitLab,成本低且可控性强。

搭建前先想清楚:你的服务器适合哪种Git方案

很多朋友一上来就搜“怎么在自己的服务器上搭建一个git”,结果搜出一堆教程,有讲GitLab的,有讲Gitea的,还有直接敲git init --bare的,看完更懵了,其实选哪种方案,完全取决于你的使用场景和服务器配置。

搭建git服务器
加载中
  • 个人项目备份或小团队(5人以内)协作:直接装Git,建裸仓库,走SSH协议,这是最轻量、最省资源的方案,512MB内存的便宜云服务器就能跑得动。
  • 团队协作需要代码审查、Issue管理:部署Gitea,它是用Go写的,资源占用极小,1核1G的服务器带起来毫无压力,还自带Web界面和权限管理。
  • 中大型团队,需要CI/CD流水线深度集成:上GitLab,功能全但吃配置,官方推荐至少4核8G内存,云服务器成本会明显上去。

这里顺便回应一个高频疑问:个人服务器搭建git仓库选哪种方案更省心? 如果你不想折腾,就选Gitea;如果你想彻底弄懂Git原理,就用裸仓库方案,两者不冲突,你完全可以在裸仓库的基础上再装个Gitea做Web界面。

最硬核的裸仓库搭建(Linux + SSH)

这个方案适合有Linux基础、喜欢掌控一切的朋友,整个过程大概三步:装Git、建裸仓库、配置SSH公钥。

第一步:服务器端安装Git并创建专用用户

先登录你的服务器(以Ubuntu/Debian为例),执行:

sudo apt update
sudo apt install git -y

出于安全考虑,不建议用root账号直接跑Git操作,创建一个专用用户,比如叫git

sudo adduser --disabled-password git

--disabled-password意思是这个用户不能通过密码登录,只能用SSH密钥,安全性更好。

第二步:初始化裸仓库

切到git用户,创建一个存放仓库的目录,然后初始化裸仓库:

sudo su - git
mkdir -p ~/repos
cd ~/repos
git init --bare my-project.git

注意,裸仓库(

怎么在自己的服务器上搭建一个git

--bare)没有工作目录,它只保存版本历史,是专门给服务器端用的,你不可能在服务器上直接看到文件内容,只能通过git clone拉下来。

第三步:配置SSH公钥登录

你的本地电脑上生成密钥(如果还没有的话):

ssh-keygen -t ed25519 -C "your_email@example.com"

然后把公钥加到服务器的authorized_keys里:

cat ~/.ssh/id_ed25519.pub | ssh git@your_server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

最后在本地测试克隆:

git clone git@your_server_ip:repos/my-project.git

看到Cloning into 'my-project'...就说明成功了,整个git服务器搭建教程的核心就这三步,剩下的就是日常addcommitpush操作。

进阶操作:用webhook实现自动部署

很多朋友搭好Git后,下一个需求就是“我push代码后,服务器上网站怎么自动更新”,这就涉及服务器搭建git webhook实现自动部署的玩法。

原理很简单:在服务器上写一个接收HTTP请求的脚本,当Git服务器收到push事件时,通过webhook通知这个脚本,脚本再执行git pullgit checkout来更新网站文件。

大致步骤如下:

  • 在服务器上创建网站目录,并克隆一份代码过去(非裸仓库)。
  • 写一个Shell脚本,内容大致是cd /var/www/my-site && git pull origin main
  • 用Node.js或Python写一个极简的HTTP服务,监听特定端口,收到请求后执行上面的脚本。
  • 在Gitea或GitHub仓库设置里添加webhook地址,指向你的服务器IP和端口。

这个方案比用rsync定时同步更及时,代码一推送,网站秒级更新。

偷懒但强大的Gitea部署

如果你觉得裸仓库太“原始”,不想记SSH配置,也不想用命令行管理用户权限,Gitea绝对是你想要的,业内专家指出,Gitea是目前轻量级Git服务里社区最活跃的项目之一,支持一键安装。

为什么中小团队普遍选择Gitea

Gitea的吸引力在于它把Git、用户管理、Issue、Pull Request、Wiki都打包进了一个不到100MB的二进制文件里,部署方式极其简单:

怎么在自己的服务器上搭建一个git

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

然后浏览器访问http://your_server_ip:3000,跟着引导填数据库(SQLite就够)、站点名称、管理员账号,搞定。

用Docker Compose部署更省心

不想手动管理二进制文件?用Docker Compose是很多人的选择,写一个docker-compose.yml

version: "3"
services:
  gitea:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
    ports:
      - "3000:3000"
      - "2222:22"

执行docker-compose up -d,Gitea就起来了,这里把服务器的22端口映射到容器的22端口,这样客户端就能直接用git@your_server_ip:owner/repo.git这种格式克隆,不需要带端口号。

新手搭建git服务器用什么系统更合适? 如果你用的是宝塔面板(BT Panel),Gitea甚至支持在面板的软件商店里直接一键部署,连Docker命令都不用敲,国内云服务器厂商的镜像市场里也常有预装Gitea的镜像,买完就能用。

权限管理与安全加固:别让服务器裸奔

很多教程搭完Git就结束了,但真实场景中,权限管理才是让你省心的关键,下面这些配置值得你花几分钟做。

用Git用户的SSH密钥限制命令

默认情况下,git用户登录服务器后是可以执行任意命令的,你可以在~/.ssh/authorized_keys前面加一段限制:

command="/usr/bin/git-shell -c "$SSH_ORIGINAL_COMMAND"",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-ed25519 AAAA...

这样用户只能执行Git相关操作,无法通过SSH登录Shell,这是Git官方推荐的做法,安全性大幅提升。

分支保护规则

如果用了Gitea或GitLab,在仓库设置里开启分支保护,禁止直接push到mainmaster分支,要求必须通过Pull Request合并,多人协作时,这一步能避免很多“手滑事故”。

定期备份

你的代码是无价的,服务器宕机或硬盘损坏是现实存在的风险,建议用

怎么在自己的服务器上搭建一个git

git bundle做全量备份:

git bundle create my-project.bundle --all

然后配合cron定时任务,每天凌晨把bundle文件同步到对象存储或另一台机器,行业共识认为,异地备份是数据安全的最低保障

常见问题排查:搭好后连不上怎么办

搭建过程中,相当一部分问题出在SSH连接和权限上。

排查思路

  • Permission denied (publickey):先检查本地~/.ssh/id_ed25519.pub是否已加到服务器的authorized_keys里,再检查服务器~/.ssh目录权限是否为700authorized_keys权限是否为600
  • Repository not found:检查仓库路径是否写对,裸仓库的路径是相对于git用户主目录的,比如git@server:repos/my-project.git
  • clone时卡住不动:大概率是服务器防火墙没放行22端口,或者云服务商的安全组规则没加,去云控制台检查入站规则。

连接不上的终极排查命令

ssh -v git@your_server_ip

-v参数能看到详细的连接日志,卡在哪一步一目了然,这是所有排查手段里最直接有效的。

常见问题解答

问:个人服务器搭建git仓库和用Gitea有什么区别?

裸仓库方案只提供Git存储,没有Web界面、没有用户管理、没有Pull Request,Gitea是完整的Git服务,自带Web界面、用户系统、Issue跟踪,个人用裸仓库够用,多人协作强烈建议Gitea,能省下大量沟通成本。

问:服务器搭建git后怎么给同事开账号?

裸仓库方案下,把同事的公钥追加到服务器的~/.ssh/authorized_keys文件里即可,Gitea方案更简单,管理员在后台创建用户,然后把用户加入仓库的协作者列表就行,后者更适合频繁增减成员的情况。

问:国内云服务器搭建git仓库需要注意什么?

需要留意云服务商的安全组规则,默认情况下22端口可能未对外开放,国内服务器访问GitHub等境外服务不稳定,建议把镜像源或依赖包源换成国内源,如果团队都在国内,服务器选国内地域延迟会低很多。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/601293.html

(0)
华为服务器H22H-05 怎么做raid
上一篇 2026年8月26日 15:15
服务器PE做系统光盘启动不了咋办,原因及解决方法
下一篇 2026年8月26日 15:27

相关推荐

  • AI换脸识别体验怎么样?,哪里可以免费体验AI换脸

    AI换脸技术已从早期的娱乐化工具演变为具备高度真实感的数字合成手段,其核心结论在于:尽管目前的生成模型能够制造出肉眼难以辨别的视觉假象,但通过多模态生物特征分析与频域检测技术,依然能够有效识别伪造内容,对于用户而言,理解这一技术的双刃剑特性,掌握从技术原理到安全防范的底层逻辑,是应对深度伪造挑战的关键, 视觉真……

    2026年2月25日
    13300
  • AIoT智慧屏有哪些功能?AIoT智慧屏怎么用

    AIoT智慧屏的核心价值在于打破设备孤岛,通过语音交互与多模态感知,将客厅转化为家庭控制中心,实现从“看电视”到“管生活”的跨越,过去我们谈论电视,关注的是分辨率、刷新率和音质,这些参数固然重要,但在2026年的今天,屏幕本身已经退居幕后,真正的主角是隐藏在屏幕背后的智能中枢,AIoT(人工智能物联网)智慧屏不……

    2026年6月13日
    5200
  • BTVPS香港美国云服务器7折是真的吗?云服务器优惠活动有哪些

    BTVPS夏日促销的核心优势在于以19.6元起的超低门槛提供香港/美国云服务器,配合20M物理机的高性价比,是中小型企业及开发者在2026年优化IT基础设施成本的优选方案,在云计算市场日益内卷的当下,寻找稳定且极具性价比的服务器资源,已成为许多技术团队和初创企业的核心痛点,BTVPS此次推出的夏日促销活动,并非……

    2026年6月26日
    2000
  • 怎么领取AI授课优惠?免费直播课限时开放名额!

    AI授课优惠全解析:聪明选课,高效提升(附权威指南)当前主流AI授课平台的真实优惠包括:限时免费精品课、新用户专项折扣(如首单5-9折)、组合课程打包价、特定节日大促(如618、双11低至5折)、老学员续课福利、企业团报优惠等,部分平台还提供奖学金计划和7-30天无理由退款保障,核心价值在于以更低成本接触顶尖师……

    2026年2月14日
    15600
  • Excel VBA如何遍历文件夹?VBA递归遍历指定目录

    通过VBA遍历Excel文件的核心在于利用FileSystemObject对象结合递归算法,批量读取指定文件夹内的所有工作簿,并提取所需数据汇总至主表中,这是解决多文件数据处理最高效的自动化方案,在日常办公中,我们常遇到这样的场景:老板丢给你一个包含上百个子文件夹的目录,要求统计每个子文件夹内所有Excel文件……

    2026年7月8日
    7000
  • 域名解析成功是什么意思?域名解析成功但打不开网页

    恭喜你域名解析成功,这意味着你的网站已经正式接入互联网,接下来只需配置好服务器环境并完成备案(针对中国大陆服务器),即可通过浏览器正常访问,当你在域名注册商后台看到“解析成功”的提示时,往往会产生一种如释重负的错觉,认为万事大吉,这仅仅是万里长征的第一步,域名解析就像是指南针,它告诉互联网世界“去哪里找你的网站……

    2026年5月28日
    4100
  • 广电网络云计算大数据是什么?云计算大数据如何应用

    广电网络云计算大数据的深度融合,正通过云原生架构与AI驱动的数据治理,全面重塑广电行业的智能分发、内容生产与用户体验,成为2026年广电体系数字化转型的核心引擎,广电网络云计算大数据的战略重构行业演进与底层逻辑传统广电网络面临互联网视频的强烈冲击,单一的有线电视传输已无法满足用户需求,云计算提供弹性算力,大数据……

    2026年4月24日
    4900
  • 广西经济大数据分析怎么看?广西经济现状与未来趋势

    广西经济正从传统的资源依赖型向数字化、绿色化转型,大数据已成为驱动其产业升级的核心引擎,尤其在东盟跨境贸易与特色农业领域展现出显著的增长潜力,广西数字经济底座与基础设施现状算力网络布局加速近年来,广西依托“东数西算”国家战略节点,正在构建覆盖全区的算力基础设施体系,业内专家指出,算力不仅是技术的堆砌,更是经济活……

    2026年5月29日
    4100
  • 广州视频边缘智能服务API手册怎么用?广州边缘计算API接口调用指南

    深度掌握《广州视频边缘智能服务API手册》,是2026年大湾区企业实现毫秒级视频推理、降低70%上云带宽成本的核心技术路径,解构广州视频边缘智能服务API核心架构边缘智能的技术底座演进传统视频监控依赖中心云处理,面临高延迟与高带宽双重痛点,根据【中国信通院】2026年《边缘计算白皮书》数据,超68%的视频推理任……

    2026年4月27日
    6200
  • 服务器bgp租用多少钱?服务器bgp租用价格及性价比对比

    服务器BGP租用:高可用、低延迟、抗攻击的网络接入首选方案选择服务器BGP租用,意味着您直接接入多运营商骨干网络,实现全国范围内秒级切换的智能路由,显著提升业务稳定性与访问体验,相比传统单线或双线接入,BGP租用通过自治系统(AS)广播机制,让流量自动优选最优路径,避免跨网访问卡顿,尤其适用于金融交易、在线游戏……

    程序编程 2026年4月17日
    6100

发表回复

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