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 mirror* 您的代码。 我参与的几个组织目前正朝着这个方向发展。 我已经对我的个人 FOSS 项目这样做了。

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

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

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

回复 作者:Vincent, foss … (未验证)

Jason,文章写得不错! 虽然我同意 github “没有不良行为的历史”,但我不会采取“观望态度”。 我一直在考虑启动自己的 git 服务器,但发现有人已经完成了所有的辛苦工作。 我一直在舒适地使用 http://gitstorage.com/ 一段时间了; 绝对是一个可行的替代方案。

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

回复 作者:Steve

我理解。 我为额外成本获得的价值是我的代码是安全的 - 服务器在我自己的网络中 + 代码已加密。

回复 作者:Jason van Gumster

有人用过 Pagure 吗?

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

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

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.