官网
官方下载地址:https://dl.gitea.com/gitea/
各版本控制软件对比
| 对比项 | SVN | Git | Mercurial | Perforce |
|---|---|---|---|---|
| 版本控制类型 | 集中式(依赖中央服务器) | 分布式(本地完整版本库) | 分布式 | 集中式(企业级) |
| 服务端 (代码托管中心) | Apache Subversion | Gitea、Gogs、GitLab、GitHub | RhodeCode、Mercurial Server | Helix Core |
| 客户端 | TortoiseSVN | 都依赖命令行的Git运行: Git Bash、TortoiseGit、SourceTree | hg、TortoiseHg | P4V |
| Eclipse 插件 | Subclipse、Subversive | EGit | MercurialEclipse | Perforce Plugin |
| IDEA 插件 | Subversion | Git | Mercurial | Perforce |
| 核心特点 | 集中管理,目录级权限控制,简单直接,适合文档、非代码类版本管理 | 本地有完整仓库,分支灵活高效,适合多人协作、开源与现代软件开发 | 分布式,命令简洁,跨平台,学习曲线比 Git 平缓,生态较小 | 企业级集中式,大文件、二进制支持强,权限精细,多用于游戏、大型工业项目 |
| 个人部署服务端推荐 | VisualSVN Server | Gitea | 一般 | 复杂,不推荐个人部署 |
| 部署特点 | VisualSVN Server:轻量服务端,配置简单,但是只有WIndows端 svnserve:跨平台,命令行 | Gitea:个人部署天花板推荐 Gogs:比 Gitea GitLab:相对更重量,麻烦些 | 服务端部署简单,但生态和工具链不如 Git 丰富 | 服务端重、配置复杂,运维成本高,个人/小团队不适用 |
查看版本
首先执行命令查看版本,我这里是7.9
bash
cat /etc/os-release
安装
下载文件:
bash
gitea-1.27.1-linux-amd64
上传文件
bash
#创建目录
#二进制:/home/gitea/gitea
#配置:/home/gitea/conf/app.ini
#数据:/home/gitea/data/
#日志:/home/gitea/log/
#之后备份只需打包 /home/gitea 目录即可
mkdir -p /home/gitea/{conf,data,log,custom}
mkdir -p /home/gitea/data/git/repositories
mkdir -p /home/gitea/data/attachments
mkdir -p /home/gitea/data/avatars
mkdir -p /home/gitea/data/tmp/uploads
# 设置目录权限
#不能是root,需要用其他用户,Gitea不能使用root用户启动
chown -R 你的用户名:你的用户名 /home/gitea
chmod -R 750 /home/gitea
#上传文件到/home/gitea目录
gitea-1.27.1-linux-amd64
#重命名,方便后续操作
mv /home/gitea/gitea-1.27.1-linux-amd64 /home/gitea/gitea
#赋予执行权限
chmod +x /home/gitea/gitea
# 验证版本,会输出版本号
/home/gitea/gitea --version
创建配置文件
使用以下命令创建配置文件 /home/gitea/conf/app.ini:
bash
cat > /home/gitea/conf/app.ini << 'EOF'
APP_NAME = Gitea: Git with a cup of tea
RUN_USER = 你的用户名
RUN_MODE = prod
[server]
PROTOCOL = http
DOMAIN = 你的服务器IP
HTTP_PORT = 3000
ROOT_URL = http://你的服务器IP:3000/
STATIC_ROOT_PREFIX = /home/gitea/custom
DISABLE_REGISTRATION = true # 禁止普通用户注册,仅管理员可创建账户
OAUTH_USER = admin # OAuth2 验证时的匹配用户名
[database]
DB_TYPE = sqlite3
PATH = /home/gitea/data/gitea.db
[repository]
ROOT = /home/gitea/data/git/repositories
[log]
MODE = file
LEVEL = Info
ROOT_PATH = /home/gitea/log
[attachment]
PATH = /home/gitea/data/attachments
[avatar]
AVATAR_STORAGE_PATH = /home/gitea/data/avatars
[repository.upload]
TEMP_PATH = /home/gitea/data/tmp/uploads
EOF
bash
# 设置权限
chown root:root /home/gitea/conf/app.ini
chmod 640 /home/gitea/conf/app.ini
创建systemd服务文件
在 /etc/systemd/system/ 目录下新建一个名为 gitea.service 的文件,让 Linux 系统能够通过 systemctl 命令来管理 Gitea(开机自启、后台运行等)
1、后台运行:Gitea 不再依赖你的 SSH 终端窗口,关闭终端它也不会停。
2、开机自启:服务器重启后,Gitea 会自动启动(因为你执行了 systemctl enable)。
3、统一管理:你可以使用最标准的系统命令来控制它:
bash
cat > /etc/systemd/system/gitea.service << 'EOF'
[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target
[Service]
User=你的用户名
Group=你的用户名
Type=simple
WorkingDirectory=/home/gitea
ExecStart=/home/gitea/gitea web --config /home/gitea/conf/app.ini --port 3000
Restart=always
RestartSec=10
Environment=GIT_HOME=/home/git
Environment=PATH=/home/git/bin:/usr/local/bin:/usr/bin:/bin
[Install]
WantedBy=multi-user.target
EOF
重新加载 systemd 并启动服务
bash
#重新加载系统服务配置
systemctl daemon-reload
#启动
systemctl start gitea
#设置开机自启
systemctl enable gitea
#查看状态
systemctl status gitea
启动成功

访问页面
bash
#地址:
http://你的IP:3000/
首次打开进行配置
其他的不用动,设置好管理员和管理员密码

常用命令
bash
#启动
systemctl start gitea
#停止
systemctl stop gitea
#重启
systemctl restart gitea
#查看状态
systemctl status gitea