Gitea 是什么?
Gitea 是一个用 Go 语言编写的轻量级自托管 Git 服务,目标是“极易安装、运行快速、体验良好”。它集成了代码托管、Issue 跟踪、Pull Request、Wiki、CI/CD 等核心功能,界面风格和操作逻辑与 GitHub 高度相似,学习成本几乎为零。

它的最大亮点是 极致的轻量:

一个真实的迁移案例显示:团队从 GitLab 切换到 Gitea 后,内存占用从 10GB 骤降到约 600MB。这意味着即使在 1 核 2G 的轻量云服务器或树莓派上,它也能流畅运行。
https://about.gitea.com/products/gitea
https://github.com/go-gitea/gitea
三步部署:Docker 快速上手
推荐使用 Docker Compose 部署,5 分钟就能跑起来。
第一步:创建项目目录
mkdir -p /data/gitea && cd /data/gitea
第二步:编写 docker-compose.yml
version: "3"
services:
server:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
💡 说明:此配置使用 SQLite 作为数据库,无需额外安装。如果需要团队使用,建议改用 MySQL 或 PostgreSQL。
第三步:启动并完成初始化
docker-compose up -d
浏览器访问 http://你的服务器IP:3000,按照向导完成首次配置即可。注意:第一个注册的用户将自动成为平台管理员
日常使用
创建仓库
登录后,点击右上角的“+”号 → 选择“New Repository”,填写名称、描述,选择公开/私有权限即可

克隆与推送代码
首次推送前需要先生成 Access Token(Personal Access Token):点击头像 → Settings → Applications → Generate Token,记下生成的 Token。
之后的操作就和 GitHub 完全一样了:
# 克隆仓库
git clone http://你的服务器IP:3000/用户名/仓库名.git
# 进入项目
cd 仓库名
# 添加文件并提交
echo "# My Project" > README.md
git add .
git commit -m "first commit"
# 推送(使用用户名和 Token 认证)
git push origin main
团队协作与实用功能
Gitea 内置了完善的权限管理体系,通过 组织(Organization) 和 团队(Team) 来控制不同成员的访问级别。
| 功能 | 说明 |
|---|---|
| Pull Request | 标准的代码评审流程,支持在线评论和代码修改 |
| Issue 跟踪 | 支持标签、里程碑、指派、时间跟踪等功能 |
| 仓库镜像 | 自动同步 GitHub / GitLab 仓库,也可将 Gitea 仓库推送到外部 |
| Webhook | 支持 Slack、钉钉等通知集成 |
| 迁移外部仓库 | 支持一键从 GitHub、GitLab、Gitee 等平台迁移 |
总结
| 场景 | 推荐选择 |
|---|---|
| 个人开发者 / 小团队(1-15 人) | Gitea 轻量、免费、易维护 |
| 服务器资源有限(1 核 2G) | Gitea 轻松运行 |
| 需要快速搭建私有代码仓库 | Gitea,5 分钟搞定 |
| 大型企业 / 需要完整 DevOps 链路 | GitLab 功能更全面 |
Gitea 的精髓在于:用最小的资源代价,提供最核心的代码托管能力。如果你正需要一个属于自己的 Git 服务平台,它绝对值得一试。
