摘要:Gitea(发音为ɡɪˈtiː)是一款采用Go语言编写的轻量级自托管Git服务,支持运行在Linux、macOS、Windows乃至树莓派等多种平台上。它与GitHub、GitLab等功能类似,提供了代码托管、团队协作、问题跟踪、代码审查等开发者所需的核心功能
在当今的软件开发世界中,代码托管平台是必不可少的工具。而对于寻求自主控制和数据隐私的团队与开发者来说,Gitea提供了一个完美的解决方案。
Gitea(发音为ɡɪˈtiː)是一款采用Go语言编写的轻量级自托管Git服务,支持运行在Linux、macOS、Windows乃至树莓派等多种平台上。它与GitHub、GitLab等功能类似,提供了代码托管、团队协作、问题跟踪、代码审查等开发者所需的核心功能。
Gitea最初是从Gogs项目分支而来,其名称是“Gi”(表示Git)和“tea”(茶)的组合,意为“一杯茶的Git服务”,形象地体现了其轻量级和易用性的特点。
特性GiteaGitLab资源占用低(轻量级,1核2G内存即可运行)高(建议至少4核8G内存)功能焦点代码托管与协作(核心功能)全栈DevOps(功能全面)部署维护简单(依赖少,升级方便)相对复杂(需较多技术投入)适用场景个人开发者、中小团队、资源有限环境大型团队、企业,需要全流程DevOpsGitea非常适合小型团队自托管、个人项目管理以及教育或实验室环境,它是一个低成本且能有效保护代码私密性的开源解决方案。
在安装Gitea之前,需要安装配置数据库,此处以MySQL为例。
创建MYSQL用户及数据库:
# 创建用户 giteaCREATE USER 'gitea' IDENTIFIED BY 'gitea';# 创建数据库giteadbCREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';# 将数据库上的所有权限授予gitea用户GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea';FLUSH PRIVILEGES;Gitea提供了多种安装方式,以下介绍两种最常用的方法:二进制文件安装和Docker安装。
以MacOS为例:
# 安装brew install gitea# 启动服务 brew services start gitea创建docker-compose.yaml文件:
version: "3"services:server:image: gitea/gitea:latestcontainer_name: gitearestart: alwaysenvironment:- GITEA__database__DB_TYPE=mysql- GITEA__database__HOST=db:3306- GITEA__database__NAME=giteadb- GITEA__database__USER=gitea- GITEA__database__PASSWD=giteavolumes:- /data/gitea:/data- /etc/timezone:/etc/timezone:ro- /etc/localtime:/etc/localtime:roports:- "3000:3000"- "222:22"depends_on:- dbdb:image: mysql:8.0restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: giteaMYSQL_USER: giteaMYSQL_PASSWORD: giteaMYSQL_DATABASE: giteadbvolumes:- /data/mysql:/var/lib/mysql在包含docker-compose.yaml文件的目录下运行:
docker-compose up -d安装部署具体可参考:安装 | Gitea Documentation
安装完成并且服务启动后,需要进行初始配置才能使用Gitea。
通过Web界面完成安装
在浏览器中访问服务器的IP地址或域名(默认端口3000),例如http://your-server-ip:3000。你将看到Gitea的初始化安装界面
完成初始配置后,进入首页
Gitea安装配置完成后,你就可以开始使用了:
创建仓库:登录后,点击页面右上角的“+”号,选择“新建仓库”,填写仓库名称、描述并选择可见性(公开或私有)。管理团队:在组织或仓库的设置中,可以添加团队成员并分配不同的权限(如只读、读写、管理员)。使用Pull Request:开发者可以Fork仓库或创建分支进行开发,然后通过Pull Request请求合并代码,进行代码审查。问题跟踪:使用Issues功能来跟踪Bug、提出新功能想法或管理任务。配置SSH密钥:在“用户设置” -> “SSH密钥”中添加你的公钥,以便通过SSH协议与仓库交互。创建仓库
仓库详情
然后就可以使用git命令进行操作了
如克隆仓库到本地
4、 总结Gitea以其轻量级、资源占用低、部署简单的特点,成为了自托管Git服务的优秀选择。它特别适合个人开发者、中小型团队以及任何希望完全控制自己代码数据的用户。
通过本文介绍的二进制或Docker方式,你可以在短时间内快速搭建起一个功能完善的代码托管平台,享受类似GitHub的开发协作体验,同时保证数据的私有性和安全性。
无论是为了摆脱对第三方平台的依赖,还是为了在内网搭建高效的协作环境,Gitea都是一杯值得你细细品味的“好茶”。
来源:走进科技生活