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 服务平台,它绝对值得一试。