6个托管 Git 代码仓库的平台

GitHub 最近的收购事件导致一些用户开始探索流行的代码仓库的替代方案。 这里有一些值得考虑。
403 位读者喜欢这篇文章。
Houses in a row

27707 通过 Pixabay, CC0。Jen Wike Huger 修改。

也许你是不多的没有注意到的人之一,但是几个月前,微软收购了 GitHub。 这两家公司都没什么问题。 近年来,微软已成为开源的积极支持者,自 GitHub 成立以来,它一直是大量开源项目的实际代码仓库。

但是,最近的收购可能让你有点坐立不安。 毕竟,没有什么比公司收购更能让你意识到你的开源代码一直放在商业平台上了。 也许你还没有准备好立即跳槽,但至少了解你的选择会有所帮助。 让我们浏览一下网络,看看有什么可用的。

选项 1:GitHub

说真的,这是一个有效的选择。 GitHub 没有不诚实行为的历史,而且微软最近肯定对开源表示赞赏。 将你的项目保留在 GitHub 上并采取观望态度没有错。 它仍然是软件开发领域最大的社区网站,并且仍然拥有用于问题跟踪、代码审查、持续集成和通用代码管理的最佳工具。 而且它的基础仍然是 Git,这是每个人最喜欢的开源分布式版本控制系统。 你的代码仍然是你的代码。 如果没有损坏任何东西,将事情保持原样并没有错。

选项 2:GitLab

GitLab 可能是替代代码平台的领先竞争者。 它是完全开源的。 你可以直接在 GitLab 的网站上托管你的代码,就像在 GitHub 上一样,但是你也可以选择在你自己的服务器上自托管你自己的 GitLab 实例,并完全控制谁可以访问所有内容以及如何管理所有内容。 GitLab 几乎具有与 GitHub 相同的功能,有些人甚至可能会说它的持续集成和测试工具更胜一筹。 尽管 GitLab 上的开发者社区肯定比 GitHub 上的小,但仍然不容小觑。 并且你可能会在那里的人群中找到更多志同道合的开发者。

选项 3:Bitbucket

Bitbucket 已经存在很多年了。 在某些方面,它可以作为 GitHub 未来的一面镜子。 Bitbucket 在八年前被一家更大的公司(Atlassian)收购,并且已经经历了一些过渡过程。 它仍然是一个像 GitHub 这样的商业平台,但它远非一家初创公司,而且在组织上处于非常稳定的地位。 Bitbucket 共享 GitHub 和 GitLab 上的大多数功能,以及它自己的一些新颖功能,例如对 Mercurial 代码仓库的本机支持。

选项 4:SourceForge

开源代码仓库网站的老大哥是 SourceForge。 过去,如果你有一个开源项目,SourceForge 是托管你的代码和分享你的版本的唯一场所。 花了一点时间才迁移到 Git 进行版本控制,并且它有自己的一系列商业收购和重新收购事件,以及一些开源项目的不幸捆绑决策。 也就是说,SourceForge 似乎已经从中恢复过来,并且该网站仍然是相当多的开源项目所在地。 然而,很多人仍然感到有点不爽,并且有些人不太喜欢它为平台盈利的各种尝试,因此请确保你带着开放的眼光进入。

选项 5:自己动手

如果你想完全控制你的项目的命运(并且没有人可以责怪,只能责怪自己),那么自己做所有事情可能是你的最佳选择。 对于大型和小型项目来说,这都是一个很好的选择。 Git 是开源的,因此很容易自托管。 如果你想要问题跟踪和代码审查,你可以运行 GitLab 或 Phabricator 的实例。 对于持续集成,你可以设置你自己的 Jenkins 自动化服务器实例。 是的,你需要对你自己的基础设施开销和相关的安全要求负责。 但是,让自己设置好并不难。 而且如果你想要一种万无一失的方法来避免受制于其他任何平台的突发奇想,这就是方法。

选项 6:以上所有

这就是这一切的美妙之处:尽管这些平台上散布着专有外衣,但它们仍然建立在可靠的开源技术之上。 不仅是开源的,而且明确地设计为可以分布在大型网络(如互联网)上的多个节点上。 你不需要只使用一个。 你可以使用几个……或者全部。 使用 GitLab 构建你自己的保证主基地,并在 GitHub 和 Bitbucket 上拥有克隆的代码仓库,用于问题跟踪和持续集成。 将你的主要代码库保留在 GitHub 上,但在 GitLab 上拥有“备份”克隆,让你自己安心。

关键是你拥有选择。 由于非常有用的和强大的项目的开源许可,我们才拥有这些选择。 未来是光明的。

当然,我肯定会错过一些可用的开源选项。 随意提出你最喜欢的选项。 你是否正在使用多个平台? 你的设置是什么? 在评论中让大家知道!

标签
User profile image.
Jason van Gumster 主要编造东西。 他写作、制作动画,偶尔还会使用开源工具进行教学。 他经营着一家小型独立的动画工作室,撰写了《Blender For Dummies》和《GIMP Bible》,并继续在一个 [有时] 每周播客 Open Source Creative Podcast 中滔滔不绝地讲述他的经历。 @monsterjavaguns 的冒险经历(和谎言)。

18 条评论

我一直是 GitLab 的快乐用户,用于我自己的项目。 这很棒,因为它允许在它的免费帐户中存在私有代码仓库。

我一直在使用 Bitbucket,因为我的公司使用它。 它的免费帐户功能非常有限。

GitHub 没有发明 Git,在我看来,这只是一个很大的炒作。

我计划保留 GitHub,因为它已经深深地扎根于我们作为开发者的文化中,但我对 GitLab 非常满意,并且已经将我的新项目放在那里几年了。 如果你犹豫不决,我真的建议尝试一下,特别是如果你想要私有代码仓库,因为它在 GitLab 上是免费的。

我还可以推荐 https://framagit.org/。 一个法国协会,致力于推广自由软件和尊重隐私。

我认为最好的方法是*首先使用开源* - 所以也许是你自己的 Gitlab 实例(很容易运行),或者如果你喜欢,可以使用 Gitlab 的服务(虽然我会避免专有功能),然后如果你想获得其网络效应的好处,可以在 Github 中*git 镜像*你的代码。 我参与的几个组织目前正朝着这个方向发展。 我已经用我的个人 FOSS 项目完成了它。

我认为 VSTS 是一个很好的替代方案。 它更复杂,不太为人所知,但也更强大。

我的公司使用 gitgud,我对此非常满意。 让我惊讶的是,作者忽略了提及它。 有什么原因吗? 我希望看到它被包括在内。

我不熟悉 GitGud。 看起来是一个独立的 GitLab 实例的免费主机。 感谢分享!

回复 ,来自 Vincent, foss … (未验证)

好文章,Jason! 虽然我同意 github“没有不诚实行为的历史”,但我不会采取“观望态度”。 我正在寻找启动我自己的 git 服务器,但发现有人已经完成了所有的艰苦工作。 我已经使用 http://gitstorage.com/ 一段时间了,感觉很舒服; 绝对是一个可行的替代方案。

哇。 那是一个看起来很方便的小设备。 对于我的口味来说有点贵。 如果我要自己动手,我个人会倾向于使用我已经拥有的东西。

回复 ,来自 Steve

我明白了。我为额外成本获得的回报是我的代码是安全的 - 服务器在我自己的网络中 + 代码已加密。

回复 ,作者: Jason van Gumster

有人用过 Pagure 吗?

就我个人使用而言,我搭建了 Gitolite (http://gitolite.com/)。我只需要一个轻量级的解决方案来托管各种脚本和“dot”文件。Gitolite 非常简单,允许您通过 git 本身来管理存储库配置。:-)

我希望有人能详细说明选项 5。特别是与 Microsoft Visual Studio 一起使用时。VS 具有对 Git 的交互式支持,但它给人的印象是我们必须使用 GitHub。我是否正确地认为可以使用 Git 在本地拥有一个源代码库?至少对于初学者来说,这一点并不明确。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.