====== GitHub的7个开源替代方案 ====== ---- GitHub在软件开发人员中是一个足够受欢迎的名称。 它是数百万程序员使用的软件开发工具。 GitHub采用Linus Torvalds创建的分布式版本控制系统Git,以允许开发人员跟踪他们所维护软件的源代码更改。 GitHub还提供了其他一些与软件开发相关的功能。 自从微软于2018年6月收购GitHub以来,GitHub的故事发生了一些变化。一些开发人员,特别是那些开发开源软件的开发人员,从GitHub搬走了。 离开GitHub的足够大的开发团队之一是GIMP的开发团队。 尽管微软公司最近开始对开源社区更加友好,但一些开源开发人员仍然对微软表示“拒绝”。 一些开发人员没有使用像GitHub这样的专有软件开发工具,而是更喜欢构建自己的工具(自行托管)。 GitLab是可用于构建自托管软件开发工具的工具之一。 GIMP开发人员团队也使用此工具,该工具由GNOME托管。 除了GitLab以外,还有GitHub的几种替代方法,以供您构建自托管软件开发工具时使用。 以下是GitHub的开源替代列表。 ---- ===== 1.GitLab ===== {{ :wiki:gitlab.jpg?nolink |}} 微软宣布收购GitHub之后,许多开发人员转而使用GitLab。 GitLab本身是的最佳GitHub 替代方案之一, 它提供了与GitHub类似的功能。 GitHub和GitLab之间的主要区别在于GitLab提供了一个社区版本,该版本作为开源软件发布。 您可以使用该版本来构建自托管软件开发工具,例如GIMP开发人员所做的那样。 GitLab使用并发DevOps,它可以加快软件开发周期。 GitLab提供的核心功能是Git存储库管理器。 但它也提供诸如Wiki,问题跟踪器,代码审查,CI/CD等功能。 GitLab的社区版已获得MIT许可。 ---- ===== 2. Gitea ===== {{ :wiki:gitea.jpg?nolink |}} Gitea 是用Go编写的开源软件开发工具。 Gitea很轻巧,可以在任何平台上运行。 无论是Linux,Windows还是macOS。 Gitea的最低要求低。 它甚至可以在很便宜的树莓派上运行。 Gitea本身也使用Git作为版本控制系统。 该工具还提供诸如错误跟踪器,代码审查和Wiki之类的功能。 Gitea本身是社区驱动的项目。 它是Gogs(另一个软件开发管理工具)的分支。 Gitea也获得了MIT许可。 ---- ===== 3. GitBucket ===== {{ :wiki:gitbucket.png?nolink |}} GitBucket 是另一个轻量级工具,可用于管理正在开发的软件的开发周期。 GitBucket用Scala编写,可在JVM(Java虚拟机)上工作。 GitBucket的界面与GitHub非常相似。 GitBucket本身也使用Git作为版本控制系统。 该工具提供的功能包括资源库查看器,Wiki和问题跟踪器。 GitBucket已获得Apache License 2.0许可。 ---- ===== 4.Gogs ===== {{ :wiki:gogs.jpg?nolink |}} Gogs是另一个轻量级的工具, 用于构建自托管的软件开发工具。 Gogs是使Gitea存在的工具。 Gogs用Go编写。 与Gitea一样,Gogs只需要更少的资源来运行。 您甚至可以在便宜的树莓派上运行此工具。 根据其官方网站上的介绍,一些Gogs用户甚至在其NAS设备上运行Gogs实例。 Gogs使用Git作为版本控制系统。 该工具提供的其他一些功能包括代码审查,Wiki和错误跟踪器。 Gogs已获得MIT许可。 ---- ===== 5.Kallithea ===== {{ :wiki:kallithea.png?nolink |}} 与上面的四个仅支持Git的工具不同, Kallithea 除Git外还支持Mercurial。 Kallithea可以在您自己的服务器上作为独立的托管应用程序运行。 Kallithea专注于为Mercurial和Git存储库提供定制的,自我管理的界面。 您可以在Linux和Windows上运行Kallithea。 Kallithea本身是用Python编写的,并获得GPLv3的许可。 Kallithea支持LDAP,使您可以轻松使用现有的身份验证系统。 您可以使用JSON-RPC API和扩展接口将实例与您选择的问题跟踪器集成。 ---- ===== 6.Tuleap ===== {{ :wiki:tuleap.jpg?nolink |}} Tuleap 是另一个可以替代GitHub的工具。 Tuleap也使用Git作为版本控制系统。 Tuleap是用于软件开发的集成工具。 它具有一个项目管理工具,可通过一个解决方案来计划,跟踪,开发,交付和维护应用程序,以集中项目活动。 还可以使用问题跟踪器来跟踪诸如需求,故事,任务,错误,请求等问题。 Tuleap已获得GNU GPL v2许可。 ---- ===== 7.Phabricator ===== {{ :wiki:phabricator.jpg?nolink |}} Phabricator是又一个可以用来替换GitHub的开源软件。 该工具也使用Git作为版本控制系统。 此外,它还支持Mercurial和Subversion(SVN)。 Phabricator的服务器可以在Linux,BSD macOS上运行。 在撰写本文时,您无法在Windows上安装Phabricator的服务器。 与上面的绝大多数类似工具一样,Phabricator也提供诸如代码审查,错误跟踪,项目经理和存储库托管等功能。 Phabricator已获得Apache 2.0许可。 ----