官网
官方网站:https://about.gitea.cn/
官方文档:https://docs.gitea.cn/
官方下载地址: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
cat/etc/os-release安装
下载文件:
gitea-1.27.1-linux-amd64上传文件
#创建目录#二进制:/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/repositoriesmkdir-p/home/gitea/data/attachmentsmkdir-p/home/gitea/data/avatarsmkdir-p/home/gitea/data/tmp/uploads# 设置目录权限#不能是root,需要用其他用户,Gitea不能使用root用户启动chown-R你的用户名:你的用户名 /home/giteachmod-R750/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:
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# 设置权限chownroot:root /home/gitea/conf/app.inichmod640/home/gitea/conf/app.ini创建systemd服务文件
在 /etc/systemd/system/ 目录下新建一个名为 gitea.service 的文件,让 Linux 系统能够通过 systemctl 命令来管理 Gitea(开机自启、后台运行等)
1、后台运行:Gitea 不再依赖你的 SSH 终端窗口,关闭终端它也不会停。
2、开机自启:服务器重启后,Gitea 会自动启动(因为你执行了 systemctl enable)。
3、统一管理:你可以使用最标准的系统命令来控制它:
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 并启动服务
#重新加载系统服务配置systemctl daemon-reload#启动systemctl start gitea#设置开机自启systemctlenablegitea#查看状态systemctl status gitea启动成功
访问页面
#地址:http://你的IP:3000/首次打开进行配置
其他的不用动,设置好管理员和管理员密码
常用命令
#启动systemctl start gitea#停止systemctl stop gitea#重启systemctl restart gitea#查看状态systemctl status gitea