git是一个版本控制系统。Linus Torvalds 在 2005 年创建了 Git,用于开发 Linux 内核。Git主要用于软件源代码管理。但是,它可用于跟踪任何文件集,例如 HTML 或 CSS 或以标记语言编写的教程。Git 是一个分布式版本控制系统。专用的 Git 服务器有助于管理访问控制、通过 Web 显示 Git 存储库的内容以及管理多个存储库。在 Git 中,客户端不仅仅检查文件的最新快照。它们完全镜像存储库,包括历史记录。
微软收购 Github
现在是正式的。微软宣布达成协议,收购全球领先的软件开发平台 GitHub。我认为这是对开源项目的警钟。这么多开源代码托管在 Github 上。
我们中的一些人在 IT 领域工作了很长时间。我们没有忘记大恶微软。微软是SCO 针对 Linux 诉讼的幕后推手,并被称为开源癌症。它积极遵循拥抱,扩展,熄灭的政策。微软还因滥用专利(参见Netscape和微软每年从 Android专利使用费中获得 20 亿美元的收入)和最近的 Windows 10 遥测隐私问题而闻名。名单是无穷无尽的。应该是一家谨慎信任的公司,它对开源社区和 Linux 操作系统有着悠久的滥用历史。因此,安装您的 Git 服务器是最好的策略。
Git 和 Github 替代方案的各种实现
Git 服务器有多种实现方式:
- 专有(例如
Bitbucket
) - Git 即服务(例如
GitHub
) - 开源(例如
gitolite
、Gerrit
)
让我们看看您可以在自己的服务器上托管的六个开源 Github
替代方案。
一、GitLab – 基于 Web 的 Git 存储库管理器,具有 wiki、问题跟踪功能等
GitLab
是一款免费、开源且基于 Web 的 Git 存储库管理器软件。它具有 wiki
、问题跟踪和其他功能。代码最初是用 Ruby
编写的,后来用 Golang
重写了一些部分。GitLab
社区版 (CE) 是一个开源的端到端软件开发平台,具有内置的版本控制、问题跟踪、代码审查、CI/CD 等功能。在您自己的服务器、容器或云提供商上自托管 GitLab CE
。
经营者 | GitLab BV 荷兰 |
---|---|
服务器端免费软件 | 部分【GitLab Community Edition (CE)】 |
客户端免费软件 | 是 |
代码审查 | 是 |
错误跟踪 | 是 |
网络托管 | 是 |
wiki | 是 |
私人分支 | 是 |
个人分支 | 是 |
构建系统 | 是 |
发布二进制文件 | 是 |
自托管 | 是 |
版本控制系统 | Git |
执照 | 麻省理工学院外籍人士 |
商业支持 | 是 |
操作系统/堆栈支持 | Linux (Ubuntu/Debian/CentOS/RHEL/OpenSUSE) + Ruby、Redis、PostgreSQL/MySQL 和 Git |
下载 | https://gitlab.com/gitlab-org/gitlab-foss |
二、Gitea – Git
它是一个无痛的自托管 Git
服务。Gitea
是 Gogs
软件的社区分支。它是用 Golang
编写并在 MIT 许可下发布的轻量级代码托管解决方案。它适用于 Windows、macOS、Linux、ARM
等。
经营者 | Gitea 作者 |
---|---|
服务器端免费软件 | 是 |
客户端免费软件 | 是 |
代码审查 | 是 |
错误跟踪 | 是 |
网络托管 | 是 |
wiki | 是 |
私人分支 | 是 |
个人分支 | 是 |
构建系统 | 否 |
发布二进制文件 | 否 |
自托管 | 是 |
版本控制系统 | Git |
许可证 | 麻省理工学院 |
商业支持 | 不适用 |
操作系统/堆栈支持 | Linux/Unix/Windows(任何可以运行 Golang 的东西)、PostgreSQL/MySQL 数据库 |
下载 | https://gitea.io |
三、GNU Savannah
GNU Savannah
是自由软件基金会的免费开源软件。它目前提供 CVS、GNU arch、Subversion、Git、Mercurial、Bazaar、邮件列表、网络托管、文件托管和错误跟踪服务。但是,该软件不适用于新用户。设置和掌握有关它的一切需要一点时间。
经营者 | 自由软件基金会,股份有限公司 |
---|---|
服务器端免费软件 | 是 |
客户端免费软件 | 是 |
代码审查 | 是 |
错误跟踪 | 是 |
网络托管 | 是 |
wiki | 否 |
私人分支 | 否 |
个人分支 | 否 |
构建系统 | 否 |
发布二进制文件 | 不适用 |
自托管 | 是 |
版本控制系统 | Git、CVS、HG、SVN、BZR |
执照 | 麻省理工学院外籍人士 |
商业支持 | 是 |
操作系统/堆栈支持 | Linux (Ubuntu/Debian/CentOS/RHEL/OpenSUSE) + Ruby、Redis、PostgreSQL/MySQL 和 Git |
下载 | http://savannah.gnu.org/projects/administration |
四、GitBucket – 用 Scala 编写的开源 GitHub
Gitbucket
是一个由 Scala
提供支持的 Git
平台,具有易于安装、高扩展性和 GitHub API
兼容性。它提供类似 GitHub
的用户界面 (UI) 和功能,例如通过 HTTP/HTTPS
和 SSH
托管 Git
存储库、存储库查看器、问题、wiki
和拉取请求。
经营者 | Gogs 作者 |
---|---|
服务器端免费软件 | 是 |
客户端免费软件 | 是 |
代码审查 | 未知 |
错误跟踪 | 未知 |
网络托管 | 是 |
wiki | 是 |
私人分支 | 是 |
个人分支 | 未知 |
构建系统 | 否 |
发布二进制文件 | 否 |
自托管 | 是 |
版本控制系统 | Git |
许可证 | Apache 许可证 2.0 |
商业支持 | 未知 |
操作系统/堆栈支持 | Java 8 (Linux/Unix/Windows) |
下载 | https://github.com/gitbucket/gitbucket |
五、Gogs - 一个自托管 Git 服务
该项目的目标是以最简单、最快、最轻松的方式设置自托管 Git
服务。借助 Go
,这可以通过跨 Go
支持的所有平台(包括 Linux、Mac OS X、Windows
和 ARM
)的独立二进制分发来完成。
经营者 | Gogs 作者 |
---|---|
服务器端免费软件 | 是 |
客户端免费软件 | 是 |
代码审查 | 是 |
错误跟踪 | 是 |
网络托管 | 是 |
wiki | 是 |
私人分支 | 是 |
个人分支 | 是 |
构建系统 | 否 |
发布二进制文件 | 否 |
自托管 | 是 |
版本控制系统 | Git |
许可证 | 麻省理工学院 |
商业支持 | 不适用 |
操作系统/堆栈支持 | Linux/Unix/Windows(任何可以运行 Golang 的东西)、MySQL/PostgreSQL/MSSQL/TiDB 数据库 |
下载 | https://gogs.io/ |
六、其他 Github 替代方案
以下是适用于所有具有开源许可证的平台的 GitHub 的更多替代方案:
GitPrep
它是 Github
克隆。您可以将便携式 github
系统安装到 unix/linux
中。您可以不受限制地创建用户和存储库。这是免费软件。
Kallithea
Kallithea
是 Software Freedom Conservancy 的成员项目,是一个 GPLv3
的自由软件源代码管理系统,支持两个领先的版本控制系统 Mercurial
和 Git
,并具有易于用户和管理员使用的 Web 界面。您可以在您自己的服务器和主机存储库上安装 Kallithea
,用于您选择的版本控制系统。
TuleapL
Tuleap
是一个项目管理系统,用于管理应用程序生命周期、敏捷开发和设计项目、V 模型、需求管理、IT 服务管理等。Tuleap
集成了伪造系统功能,使团队能够管理软件源(使用 Subversion、Git
或 CVS
);共享技术或项目文件;跟踪错误;巩固与客户、开发商或第三方的沟通。
Phabricator
Phabricator
是一组 Web
应用程序,可帮助软件公司构建更好的软件。它是一组用于开发软件的工具。它包括用于代码审查、存储库托管、git
、错误跟踪、项目管理等的应用程序。
结论
有了它,您可以在 Linux
或 Unix
服务器上托管六个 Github
替代方案。无需依赖云或担心 Microsoft
会查看您的代码库。如果我错过了任何其他熟知的基于 FOSS
的 Git
服务器,请在下面的评论部分中添加。