十分钟,带你搭建一个自己的Git系统

Gitea 是一个轻量级的开源代码托管平台,基于 Go 语言开发,支持 Git 版本控制。它类似于 GitHub 或 GitLab,但更注重轻量化、低资源占用和快速部署,适合个人开发者、小团队或企业内部使用。

Gitea 的名称来源于 Gittea (茶)的结合。Git 直接表明它是一个基于 Git 版本控制系统 的代码托管平台,功能定位清晰。 Tea 则象征轻量、简洁和友好,暗喻其低资源占用易用性,如同茶一样"小而美"。

Gitea历史背景

Gitea 最初是从另一个开源项目 Gogs(Go Git Service)分叉而来。Gogs 因开发进度缓慢,社区成员于 2016 年创建了 Gitea,目标是更开放、更活跃的协作。

新名称 Gitea 既保留了与 Git 的关联,又通过 "tea" 传递了社区驱动的友好形象,与 Gogs 形成区分。

Gitea功能与优势

Gitea的主要功能有如下几点:

代码托管。支持 Git 仓库管理,提供仓库克隆、推送、分支管理等功能。

协作开发。支持 Issue 跟踪、Pull Request(PR)、代码审查等协作工具。

权限管理。可配置团队和用户权限,保障代码安全。

集成能力。支持 Webhook、CI/CD 集成(需配合其他工具)等。

核心优势主要有:

轻量高效。资源占用低,适合低配置服务器。

跨平台。支持 Linux、Windows、macOS 等多种系统。

开源免费。代码完全开源,可自由修改和扩展。

社区驱动。由活跃的开源社区维护,更新频繁。

一键部署。通过二进制文件或 Docker 快速部署。

Linux环境下部署Gitea

部署环境

操作系统:Ubuntu 20.04

CPU、内存:2核、2G

依赖其他工具:Docker、Git、MySQL/PostgreSQL/SQLite

:推荐 SQLite 简化部署,但是本教程使用MySQL部署,另外本教程默认Docker正常和MySQL默认能够进行远程连接,具体按照文档可参看https://docs.gitea.com/zh-cn/category/installation

步骤 1:使用Docker安装并启动Gitea

Docker安装命令:

shell 复制代码
docker pull gitea/gitea

Docker启动Gitea:

shell 复制代码
docker run -p 3000:3000 -d gitea/gitea

步骤 2:准备Gitea需要的环境

Gitea的环境准备主要有两个部分:MySQL建库和创建主安装目录。

1)进入MySQL,创建数据库

sql 复制代码
create database gitea

2)进入到运行Gitea的Docker镜像内,创建目录并赋予权限

shell 复制代码
docker exec -it [容器ID] /bin/bash

cd /opt 

mkdir gitea

chmod 777 gitea

步骤 3:进入并配置Gitea

1)访问 http://<服务器IP>:3000,进入安装页面

2)填写配置

数据库类型 :SQLite3(默认路径 /var/lib/gitea/data/gitea.db

应用 URL :填写最终访问地址(如 https://gitea.example.com

管理员账号:设置管理员账户信息。

3)点击 立即安装 完成初始化

总结一下:就是除了数据库配置和域名配置,其他基本上使用默认值就可以了。

步骤 4:开始使用

访问自己的部署地址,登录管理员账户,创建仓库并测试推送代码。

常见问题

确保 /var/lib/gitea 目录归属 gitea 用户,或者提前创建好相关目录,其次是端口冲突 ,若 3000 端口被占用,修改 app.ini 中的 HTTP_PORT

通过以上步骤,您可以在 Linux 系统上快速部署一个高性能的 Gitea 代码托管平台。

相关推荐
计算机程序设计小李同学7 小时前
基于 Spring Boot + Vue 的龙虾专营店管理系统的设计与实现
java·spring boot·后端·spring·vue
Charlie_lll9 小时前
力扣解题-[3379]转换数组
数据结构·后端·算法·leetcode
VX:Fegn08959 小时前
计算机毕业设计|基于springboot + vue云租车平台系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
汤姆yu9 小时前
2026基于springboot的在线招聘系统
java·spring boot·后端
计算机学姐10 小时前
基于SpringBoot的校园社团管理系统
java·vue.js·spring boot·后端·spring·信息可视化·推荐算法
hssfscv10 小时前
Javaweb学习笔记——后端实战8 springboot原理
笔记·后端·学习
咚为10 小时前
Rust tokio:Task ≠ Thread:Tokio 调度模型中的“假并发”与真实代价
开发语言·后端·rust
Anastasiozzzz11 小时前
对抗大文件上传---分片加多重Hash判重
服务器·后端·算法·哈希算法
Vivienne_ChenW11 小时前
DDD领域模型在项目中的实战
java·开发语言·后端·设计模式
女王大人万岁11 小时前
Go标准库 sync 详解
服务器·开发语言·后端·golang