Windows Gitea 搭建完整指南
# 前言
Gitea 是一个轻量级的自托管 Git 服务,类似 GitHub 但资源占用极低。非常适合小型团队、家庭局域网或个人开发环境使用。相比 GitLab 的重量级部署,Gitea 只需要一个二进制文件即可运行。
本文详细介绍如何在 Windows 系统上搭建 Gitea 服务。
# 一、准备工作
# 1. 安装 Git for Windows(必须)
下载地址:https://git-scm.com/download/win
安装完成后,Git 会提供 SSH 和相关工具支持。
# 2. 下载 Gitea
打开 Gitea 下载页面 (opens new window):
- 选择最新版本目录
- 找到
gitea-版本号-windows-4.0-amd64.exe(推荐) - 如果老机器有性能问题,可选择带
gogit-windows的版本
# 二、安装步骤
# 1. 创建目录结构
在 C 盘(或其他盘)创建文件夹:
C:\gitea\ ← Gitea 主目录
├── gitea.exe ← 二进制文件(重命名后)
└── data\ ← 数据目录(仓库、数据库)
2
3
具体操作:
mkdir C:\gitea
mkdir C:\gitea\data
2
# 2. 放置二进制文件
将下载的 gitea-xxx-windows-4.0-amd64.exe 放到 C:\gitea 目录,并重命名为 gitea.exe(方便后续管理)。
# 三、首次运行与初始化
# 1. 启动 Gitea
以管理员身份打开 CMD 或 PowerShell:
cd C:\gitea
gitea.exe web
2
# 2. 访问 Web 界面
打开浏览器访问:http://localhost:3000
# 3. 按向导完成初始化
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| 数据库 | SQLite | 内置,无需额外安装,适合小型使用 |
| 站点名称 | 自定义 | 如 "My Git Server" |
| 管理员账号 | 创建第一个用户 | 必须设置 |
| SSH 端口 | 22 或 2222 | 如 22 被占用则改为其他 |
| HTTP 端口 | 3000 | 默认值 |
初始化完成后,Gitea 即可正常运行。
# 四、设置为 Windows 服务
# 1. 创建服务
以管理员身份打开 CMD,执行:
sc.exe create gitea start= auto binPath= "\"C:\gitea\gitea.exe\" web --config \"C:\gitea\custom\conf\app.ini\""
注意:start= auto 中等号后必须有一个空格。
# 2. 启动服务
方法一:命令行启动
sc.exe start gitea
方法二:服务管理器
- 按
Win + R,输入services.msc - 找到
gitea服务 - 右键 → 启动
如果启动失败,可将启动类型改为"自动(延迟启动)"。
# 3. 常用服务命令
# 启动服务
sc.exe start gitea
# 停止服务
sc.exe stop gitea
# 删除服务
sc.exe delete gitea
# 查询服务状态
sc.exe query gitea
2
3
4
5
6
7
8
9
10
11
# 五、局域网多电脑访问
# 1. 获取服务器 IP
在服务器电脑上执行:
ipconfig
找到局域网 IP,如 192.168.1.100。
# 2. 其他电脑访问
浏览器访问:
http://192.168.1.100:3000
# 3. 配置 Git 远程仓库
在客户端电脑上:
# HTTP 方式
git remote add origin http://192.168.1.100:3000/用户名/仓库名.git
# SSH 方式(需先配置 SSH 密钥)
git remote add origin git@192.168.1.100:用户名/仓库名.git
2
3
4
5
# 4. 防火墙配置
允许 HTTP 端口(3000)和 SSH 端口(22 或 2222):
# HTTP 端口
netsh advfirewall firewall add rule name="Gitea HTTP" dir=in action=allow protocol=tcp localport=3000
# SSH 端口
netsh advfirewall firewall add rule name="Gitea SSH" dir=in action=allow protocol=tcp localport=22
2
3
4
5
# 六、日常维护
# 数据备份
重要数据位于 C:\gitea\data 目录:
C:\gitea\data\
├── repositories\ ← 所有 Git 仓库
├── attachments\ ← 附件文件
├── avatars\ ← 用户头像
└── gitea.db ← SQLite 数据库
2
3
4
5
定期备份整个 data 目录即可。
# 升级 Gitea
- 停止服务:
sc.exe stop gitea - 备份
data目录 - 替换
gitea.exe为新版本 - 启动服务:
sc.exe start gitea
# 配置文件位置
主配置文件:C:\gitea\custom\conf\app.ini
常用配置修改:
[server]
HTTP_PORT = 3000
SSH_PORT = 22
DOMAIN = localhost
[database]
DB_TYPE = sqlite3
PATH = data/gitea.db
[repository]
ROOT = data/repositories
2
3
4
5
6
7
8
9
10
11
# 七、与 Git Daemon 对比
| 特性 | Gitea | Git Daemon |
|---|---|---|
| Web 界面 | ✅ 有 | ❌ 无 |
| 用户认证 | ✅ 有 | ❌ 无 |
| 权限管理 | ✅ 有 | ❌ 无 |
| Issue/PR | ✅ 有 | ❌ 无 |
| 配置复杂度 | 低 | 极低 |
| 资源占用 | 低 | 极低 |
| 数据库 | SQLite/MySQL/PostgreSQL | 无 |
| 适用场景 | 小型团队/需要 Web 界面 | 极简局域网 |
# 八、注意事项
# 1. 端口配置
- HTTP:默认 3000
- SSH:默认 22(如被占用改为 2222 等)
# 2. 数据库选择
对于两台电脑、小型项目,SQLite 完全够用:
- 无需额外安装
- 维护简单
- 性能足够
后续规模扩大时,可迁移到 PostgreSQL 或 MySQL。
# 3. SSH 配置
如使用 SSH 方式克隆:
- 确保服务器 SSH 端口可访问
- 客户端生成 SSH 密钥:
ssh-keygen -t rsa - 将公钥添加到 Gitea 用户设置中
# 4. 安全建议
局域网环境可适当放宽,但建议:
- 设置管理员密码
- 仓库设置为私有(需权限才能访问)
- 定期备份数据
# 九、常见问题
# 问题 1:服务启动失败
解决方案:
- 检查路径是否正确
- 检查端口是否被占用
- 改为"自动(延迟启动)"
# 问题 2:其他电脑无法访问
检查项:
- 服务器 IP 是否正确
- 防火墙是否放行端口
- Gitea 服务是否运行
# 问题 3:SSH push 失败
解决方案:
- 确认 SSH 端口配置正确
- 确认公钥已添加到 Gitea
- 测试 SSH 连接:
ssh -T git@服务器IP
# 问题 4:忘记管理员密码
解决方案:
使用 Gitea 命令行重置:
gitea.exe admin user change-password --username 管理员用户名 --password 新密码
# 十、总结
Gitea 是小型团队自托管 Git 服务的理想选择:
- 轻量:一个二进制文件,资源占用低
- 简单:SQLite 内置,无需额外数据库
- 功能完整:Web 界面、用户管理、Issue、PR
- 易于维护:升级只需替换文件
适合场景:
- 家庭局域网多设备协作
- 小型团队内部开发
- 个人项目托管
- 学习 Git 服务原理
# 参考资料
- 01
- VPN 连接监控与 Telegram 实时通知06-06
- 03
- Claude Code Java 开发常用插件指南06-02