为了方便管理我们的代码,这时候,需要有一个代码托管服务器,现在,免费、可直接用的有Gitee和Github。公司的代码,是需要保密的,放在别人的仓库里面,肯定是不放心,这时候,我们需要自己搭建代码服务器,在Git之前,大家可能用SVN和VSS会多一点。现在,大家都比较喜欢用Git来托管自己的代码。这里,就分享几个开源的Git服务端项目。
Gitlab
Gitlab基于Ruby on Rails构建,功能强大。有开源并免费的GitLab CE版本,很多公司都是用的它。软件所需环境
.
Ubuntu/Debian/CentOS/RHEL/OpenSUSE
. Ruby (MRI) 3.0.5
. Git 2.33+
. Redis 5.0+
. PostgreSQL 12+
官方推荐最低配置是4核4G。
代码地址:https://github.com/gitlabhq/gitlabhq.git
Gogs
Gogs是使用G语言开发的100% 开源并可无条件免费使用的项目。所有的源代码均通过 MIT 授权协议 托管在 GitHub 上.任何 Go 语言 支持的平台都可以运行 Gogs,包括 Windows、Mac、Linux 以及 ARM。一个廉价的树莓派的配置足以满足 Gogs 的最低系统硬件要求。有些用户甚至还将 Gogs 运行在 NAS 设备上。
主要特性:
. 控制面板、用户页面以及活动时间线
. 通过 SSH、HTTP 和 HTTPS 协议操作仓库
. 管理用户、组织和仓库
. 仓库和组织级 Webhook,包括 Slack、Discord 和钉钉
. 仓库 Git 钩子、部署密钥和 Git LFS
. 仓库工单(Issue)、合并请求(Pull Request)、Wiki、保护分支和多人协作
. 从其它代码平台迁移和镜像仓库以及 Wiki
. 在线编辑仓库文件和 Wiki
. Jupyter Notebook 和 PDF 的渲染
. 通过 SMTP、LDAP、反向代理、GitHub.com 和 GitHub 企业版进行用户认证
. 开启两步验证(2FA)登录
. 自定义 HTML 模板、静态文件和许多其它组件
. 多样的数据库后端,包括 PostgreSQL、MySQL、SQLite3 和 TiDB
. 超过 31 种语言的本地化
代码地址:https://github.com/gogs/gogs.git
Gitea
Gitea的从Gogs Fork而来,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(MySQL) 数据库
. 支持多语言本地化(21 种语言)
. 支持软件包注册中心(Composer/Conan/Container/Generic/Helm/Maven/NPM/Nuget/PyPI/RubyGems)
系统要求:
. 最低的系统硬件要求为一个廉价的树莓派
. 如果用于团队项目,建议使用 2 核 CPU 及 1GB 内存
代码地址:https://github.com/go-gitea/gitea.git
OneDev
OneDev是使用Java基于MIT 协议进行开源的Git Server项目。
代码地址:https://github.com/theonedev/onedev.git
CodeFever
CodeFever Community 由蒲公英团队完整自主研发并基于 MIT 协议进行完整开源,且免费开放,所有源代码通过 MIT 授权协议均托管在 GitHub 上,拥有完全自主的知识产权,因此您可以放心使用而不必考虑是否侵犯他人权利。任何 PHP 语言支持的平台都可以运行 Codefever Community,包括 Windows、Mac、Linux 以及 ARM。
功能特性:
. 永久免费: 永久免费提供给大家使用,您无需担心付费
. 完整开源: 毫无保留的完整开源,无任何编译或加密代码
. 轻量安装: 极简设计风格,排除重度冗余的多余功能
. 性能高效: 速度极快,对服务器资源要求极低,1核CPU/1G内存即可运行
. 无限仓库: 没有任何仓库数量、使用数量的限制
. 代码对比: 支持提交代码的不同版本支持高亮显示对比
. 分支管理: 完整支持 Git 原生分支和 Tag,帮助更清晰的管理代码
. 合并请求(Merge Request): 支持多人协作,让代码版本控制更顺畅
. 分支保护: 分支保护功能让代码提交安全可控,代码 Review 更容易清晰
. 多人协作: 支持多人团队协作,并可以设置每个成员的角色和权限
. Webhook: 支持Webhook功能,可轻松和其他系统进行集成
. 管理后台: 支持超级管理员后台,可以让团队leader管理所有项目和用户信息
. 中英双语: 原生支持中文和英文两种语言
代码地址:https://github.com/PGYER/codefever.git
gitolite
gitolite 是一个非常轻量级的 git 代码托管方案,只能控制权限,没有 Pull Request/Issue 等功能。
代码地址:https://github.com/sitaramc/gitolite.git
除了上面分享的这几个开源的项目外,还有一些其他的免费工具,大家可以根据自己的情况选择合理的选择相应的工具,快速构建自己的Git代码托管中心。