Github 神器!一款极易搭建的自助 Git 服务
下午好,我是Guide!
有时候我们需要在内网环境创建一个 Git 服务,方便保存代码和部署应用。一开始想到的也许是 gitlab,确实功能强大,但是有很多功能又用不到,白白浪费资源。后来找到一个更轻量级易部署的开源项目 gitea,不仅功能适用还支持跨平台。
gitea 的社区非常活跃,目前 GitHub 上已经 26.6K+的 star,热度持续上涨中。
- GitHub 地址:https://github.com/go-gitea/gitea
- 官方文档:https://docs.gitea.io
简介
Gitea 是一个自己托管的 Git 服务程序。他和 GitHub, Bitbucket or Gitlab 等比较类似。他是从 Gogs 发展而来,已经 Fork 并且命名为 Gitea。Gitea 的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。采用 Go 作为后端语言,这使得只要生成一个可执行程序即可。并且它还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了 x86,amd64,还包括 ARM 和 PowerPC。
功能特性
- 支持活动时间线
- 支持 SSH 以及 HTTP/HTTPS 协议
- 支持 SMTP、LDAP 和反向代理的用户认证
- 支持反向代理子路径
- 支持用户、组织和仓库管理系统
- 支持添加和删除仓库协作者
- 支持仓库和组织级别 Web 钩子(包括 Slack 集成)
- 支持仓库 Git 钩子和部署密钥
- 支持仓库工单(Issue)、合并请求(Pull Request)以及 Wiki
- 支持迁移和镜像仓库以及它的 Wiki
- 支持在线编辑仓库文件和 Wiki
- 支持自定义源的 Gravatar 和 Federated Avatar
- 支持邮件服务
- 支持后台管理面板
- 支持 MySQL、PostgreSQL、SQLite3, MSSQL 和 TiDB(实验性支持) 数据库
- 支持多语言本地化(21 种语言)
快速体验
快速安装
Linux
目前还没有对应的 Linux 安装包发布,当前可以查看从二进制安装。
所有下载均包括 SQLite, MySQL 和 PostgreSQL 的支持,同时所有资源均已嵌入到可执行程序中,这一点和老版本有所不同。基于二进制的安装非常简单,只要从下载页面(地址:https://dl.gitea.io/gitea)选择对应平台,拷贝下载URL,执行以下命令即可(以Linux为例):
wget -O gitea https://dl.gitea.io/gitea/1.15.4/gitea-1.15.4-linux-amd64
chmod +x gitea
在执行了以上步骤之后,你将会获得 gitea
的二进制文件,在你复制到部署的机器之前可以先测试一下。在命令行执行完后,你可以 Ctrl + C
关掉程序。
./gitea web
Windows
下载相应的 exe 文件安装包,采用安装包的方式进行安装,可以在如下地址找到安装包:
https://dl.gitea.io/gitea
macOS
macOS 平台下当前我们仅支持通过 brew
来安装。你可以执行以下命令:
brew tap go-gitea/gitea
brew install gitea
配置数据库
gitea 首次启动时需要配置数据库,它支持 MySQL、PostgreSQL、MSSQL 或 SQLite3 等多种数据库。启动后访问http://127.0.0.1:3000即可看到如下配置页面。
注册登录
配置完成后,进入到首页,点击右上角进行注册登录。
创建项目
根据对应输入框创建完账户后进入到后台页面,首先需要创建一个仓库。
项目操作
创建完成后的界面我们应该很熟悉了,这里需要配置 ssh 进行拉取和提交。
还可以进行 PR 请求,查看版本发布以及动态等。
正如 Gitea 的标语一样,只需一杯茶的功夫就可以搭建 Git 服务,如此简易实用,还等什么,赶紧用起来吧!
·············· END ··············
相关文章
- 2022大数据十大关键词,重磅发布!
- 为什么改善数据供应链是一种责任?
- OpenHarmony3.2 beta4上照相机的使用之1--开启照相机预览画面
- 如何在 Linux Mint 上安装 GNOME 桌面环境
- MPP与Hadoop,两种主流大数据系统架构有啥区别?
- 大数据项目可能出错的五种方式
- Eureka中读写锁的奇思妙想,太顶了
- 统计千行代码Bug率,有没有意义?
- 两个简单的代码片段让你的图表动起来
- 七种大幅度减少代码复查时间的方法
- 两种主流大数据系统架构的区别,终于有人讲明白了
- 五个 Chrome 简单实用的日常开发功能详解,赶快解锁让你提升更多效率!
- 重点改进侧边栏,Dev 频道微软 Edge 浏览器更新至 110 版本
- 重磅!七国集团决定制裁Go语言!
- Windows 11 学院:如何开启 Windows 11 自动色彩管理(ACM)功能
- Openharmony 军棋工兵寻径算法的实现
- 这个新 Go 错误处理提案,能解决问题不?
- 实现React过程中一次有趣的问题排查经历
- Linux 中的 su 和 sudo 命令有什么区别?
- 从 2022 年优秀 Linux 发行版中挑选你喜欢的版本