6 个开源和自托管的 Github 替代方案

G它是一个版本控制系统。 Linus Torvalds 在 2005 年创建了 Git,用于开发 Linux 内核。 Git主要用于软件源代码管理。 但是,它可用于跟踪任何文件集,例如 HTML 或 CSS 或以标记语言编写的教程。 Git 是一个分布式版本控制系统。 专用的 Git 服务器有助于管理访问控制、通过 Web 显示 Git 存储库的内容以及管理多个存储库。 在 Git 中,客户端不仅仅检查文件的最新快照。 它们完全镜像存储库,包括历史记录。

微软收购 Github

现在是正式的。 微软 宣布达成协议 收购全球领先的软件开发平台 GitHub。 我认为这是对开源项目的警钟。 这么多开源代码托管在 Github 上。 前几天我发了一条推文:

我收到一封来自我的客户的电子邮件,他是 @Github 私人回购业务客户。 他们希望从 Github 迁移到托管在 AWS 或 Google 中的个人 GIT 服务器 Cloud. 他们担心 Microsoft 可能会深入了解他们的代码库。 小型初创公司/企业不信任 MS。

— nixCraft (@nixcraft) 2018 年 6 月 3 日

我们中的一些人在 IT 领域工作了很长时间。 我们没有忘记大恶微软。 微软是背后的同一家公司 SCO针对Linux的诉讼 并称为开源癌症。 它积极遵循以下政策 拥抱,延伸,熄灭。 微软也因滥用专利而闻名(见 网景微软每年从 Android 产生 20 亿美元的收入 专利使用费)和最近的 Windows 10 遥测隐私问题。 名单是 无尽的. 应该是一家谨慎信任的公司,它对开源社区和 Linux 操作系统有着悠久的滥用历史。 因此,安装 Git 服务器是最好的策略。

Git 和 Github 替代方案的各种实现

Git 服务器有多种实现方式:

  1. 专有(例如 Bitbucket)
  2. Git 即服务(例如 GitHub)
  3. 开源(例如gitolite、Gerrit)

让我们看看您可以在自己的服务器上托管的六个开源 Github 替代方案。

1. GitLab – 基于 Web 的 Git 存储库管理器,具有 wiki、问题跟踪功能等

GitLab 是一个免费、开源和基于 Web 的 Git 存储库管理器软件。 它具有 wiki、问题跟踪和其他功能。 代码最初是用 Ruby 编写的,后来用 Golang 重写了一些部分。 GitLab 社区版 (CE) 是一个开源的端到端软件开发平台,具有内置的版本控制、问题跟踪、代码审查、CI/CD 等功能。 在您自己的服务器、容器或云提供商上自托管 GitLab CE。

经理: GitLab BV 荷兰.
服务器端免费软件:部分 [GitLab Community Edition (CE)]
客户端免费软件:是
代码审查:是
错误跟踪:是
网络托管:是
维基:是的
私人分行:是
个人分支:是
构建系统:是
发布二进制文件:是
自托管:是
版本控制系统:Git
执照:麻省理工学院外籍人士
商业支持:是
操作系统/堆栈支持:Linux (Ubuntu/Debian/CentOS/RHEL/OpenSUSE) + Ruby、Redis、PostgreSQL/MySQL 和 Git
下载https://gitlab.com/gitlab-org/gitlab-foss

2. Gitea – Git 和一杯茶

它是一种无痛的自托管 Git 服务。 Gitea 是 Gogs 软件的社区分支。 它是用 Golang 编写并在 MIT 许可下发布的轻量级代码托管解决方案。 它适用于 Windows、macOS、Linux、ARM 等。

经理: Gitea作者.
服务器端免费软件:是
客户端免费软件:是
代码审查:是
错误跟踪:是
网络托管:是
维基:是的
私人分行:是
个人分支:是
构建系统:否
发布二进制文件:否
自托管:是
版本控制系统:Git
许可证:麻省理工学院
商业支持:不适用
操作系统/堆栈支持:Linux/Unix/Windows(任何可以运行 Golang 的东西)、PostgreSQL/MySQL 数据库
下载https://gitea.io

3. GNU 萨凡纳

GNU Savannah 是自由软件基金会的免费开源软件。 它目前提供 CVS、GNU arch、Subversion、Git、Mercurial、Bazaar、邮件列表、网络托管、文件托管和错误跟踪服务。 但是,该软件不适用于新用户。 设置和掌握有关它的一切需要一点时间。

经理: 自由软件基金会,股份有限公司。 .
服务器端免费软件:是
客户端免费软件:是
代码审查:是
错误跟踪:是
网络托管:是
维基:没有
私人分行:否
个人分支:否
构建系统:否
发布二进制文件:不适用
自托管:是
版本控制系统:Git、CVS、HG、SVN、BZR
执照:麻省理工学院外籍人士
商业支持:是
操作系统/堆栈支持:Linux (Ubuntu/Debian/CentOS/RHEL/OpenSUSE) + Ruby、Redis、PostgreSQL/MySQL 和 Git
下载https://savannah.gnu.org/projects/administration

4. GitBucket – 用 Scala 编写的开源 GitHub 克隆

Gitbucket 是一个由 Scala 提供支持的 Git 平台,具有易于安装、高扩展性和 GitHub API 兼容性。 它提供类似 GitHub 的用户界面 (UI) 和功能,例如通过 HTTP/HTTPS 和 SSH 托管 Git 存储库、存储库查看器、问题、wiki 和拉取请求。

经理: Gogs 作者.
服务器端免费软件:是
客户端免费软件:是
代码审查:未知
错误跟踪:未知
网络托管:是
维基:是的
私人分行:是
个人分支:未知
构建系统:否
发布二进制文件:否
自托管:是
版本控制系统:Git
执照: Apache 许可证 2.0
商业支持:未知
操作系统/堆栈支持:Java 8 (Linux/Unix/Windows)
下载https://github.com/gitbucket/gitbucket

5. Gogs – 一个无痛的自托管 Git 服务

该项目的目标是采用最简单、最快、最轻松的方式来设置自托管 Git 服务。 使用 Go,这可以通过跨 Go 支持的所有平台(包括 Linux、Mac OS X、Windows 和 ARM)的独立二进制分发来完成。

经理: Gogs 作者.
服务器端免费软件:是
客户端免费软件:是
代码审查:是
错误跟踪:是
网络托管:是
维基:是的
私人分行:是
个人分支:是
构建系统:否
发布二进制文件:否
自托管:是
版本控制系统:Git
许可证:麻省理工学院
商业支持:不适用
操作系统/堆栈支持:Linux/Unix/Windows(任何可以运行 Golang 的东西)、MySQL/PostgreSQL/MSSQL/TiDB 数据库
下载https://gogs.io/

6. 其他 Github 替代方案

以下是适用于所有具有开源许可证的平台的 GitHub 的更多替代方案:

GitPrep

它是 Github 克隆。 您可以将便携式 github 系统安装到 unix/linux 中。 您可以不受限制地创建用户和存储库。 这是免费软件。

卡利地亚

Kallithea 是 Software Freedom Conservancy 的成员项目,是一个 GPLv3 的自由软件源代码管理系统,支持两个领先的版本控制系统 Mercurial 和 Git,并具有易于用户和管理员使用的 Web 界面。 您可以在您自己的服务器和主机存储库上安装 Kallithea,用于您选择的版本控制系统。

图勒普

Tuleap 是一个项目管理系统,用于管理应用程序生命周期、敏捷开发和设计项目、V 模型、需求管理、IT 服务管理等。 Tuleap 集成了伪造系统功能,使团队能够管理软件源(使用 Subversion、Git 或 CVS); 共享技术或项目文件; 跟踪错误; 巩固与客户、开发商或第三方的沟通。

药剂师

Phabricator 是一组 Web 应用程序,可帮助软件公司构建更好的软件。 它是一组用于开发软件的工具。 它包括用于代码审查、存储库托管、git、错误跟踪、项目管理等的应用程序。

结论

有了它,您可以在 Linux 或 Unix 服务器上托管六个 Github 替代方案。 无需依赖云或担心 Microsoft 会查看您的代码库。 如果我错过任何其他熟悉的基于 FOSS 的 Git 服务器,请添加 下面的评测部分.