Ask HN:GitHub 的替代品有哪些

查看原文 HN 讨论

文章摘要

提问者 dhruv3006 只写了一句话:「GitHub 过去几个月一直在持续宕机——换到替代品有意义吗?」这条提问收获 649 分、220 条评论,成了一份相当完整的 2026 年代码托管平台现状盘点。

被提到最多的选项分成几类。Forgejo / Gitea 系几乎是自托管派的默认答案:Gitea 是主项目,Forgejo 是社区驱动的分支(当年分家有过一场大家都记不清细节的 drama),Codeberg 是 Forgejo 的公共托管实例,Codefloe 是另一个带自定义补丁的托管实例。多位评论者报告 Forgejo 在便宜 VPS 或家庭服务器上跑得又快又省资源,日常维护几乎只有一件事——挡 AI 爬虫;常见做法是本地仓库同时 push 到自建实例和 GitHub,后者只当镜像用来提高可见性。Gitea 的项目负责人 techknowlogick 本人在帖子里反复出现,一边道谢一边邀请大家进聊天室反馈,还主动打听「相比 GitLab,Gitea 还缺哪些功能」,因为他们正在做 backlog 梳理。

GitLab 是大型组织迁移的现实选项,功能最接近 GitHub,并且有可自托管的开源社区版;有人指出仓库组织方式比 GitHub 好得多(org 下可以有子团队各自拥有仓库,而不是一个平铺列表),CI 也更受偏爱。但自托管 GitLab 的经验分享构成了整条帖子里信息量最大的一段(见评论精华)。

其他被提名的还有:SourceHut(sr.ht,CI 出色、刻意低技术含量、不试图克隆 GitHub,但仍是邮件补丁流程)、Bitbucket(多人称赞干净好用,但已经砍掉自带 issue tracker 强推 Jira)、tangled.sh / tangled.org(基于 atproto 的新型联邦化 forge,支持 stacked PR、jujutsu、Nix VM 里的 CI,创始人在帖子里答疑)、Radicle(radicle.xyz,真正去中心化,主机宕机也能本地继续处理 issue,还能通过网络里其他节点同步)、Fossil(把 issue、wiki、PR 全部存进仓库本身)、GogsRhodeCode EnterprisePijul NestGoogle Cloud Secure Source ManagerGitoro(EU 托管)、oak.space(非 git 的新方案)、Soft Serve(charmbracelet 出的、带 Git-LFS 的极简方案),以及最原始的 gitolite + CGit/GitWeb 甚至直接 ssh 上 git –bare init。CI 单独一档:Woodpecker CI、DroneCI、Buildkite(有 GitHub Actions 适配器)、Semaphore、Circle、preloop(100% 实现官方 runner 协议、跑在隔离 microVM 里的 GitHub Actions 替代品)、DSCI(单 Go 二进制、内嵌 podman/docker runner、用通用编程语言而非 YAML 写流水线)。还有人提到 Cursor 即将推出的 Origin,以及 european-alternatives.eu 上的欧洲替代品清单。

rhdunn 给了一份被广泛认可的决策树:想要「像 GitHub 一样」→ Forgejo / Gitea;想要最省事地托管 git 仓库 → GitLab、Codeberg;已有自己的基础设施 → gitolite + CGit/GitWeb;只想托管仓库 → gitolite 管 SSH/认证/建仓,CGit 或 GitWeb 做前端;需要类似 GitHub Actions → GitLab、Forgejo、Gitea 自带 CI,或用外部 CI;需要 issue 管理 → 上述三家都有,也可以用 Jira、Trello 到 Obsidian 等各种替代品。als0 补了第 7 条:如果你想要最多的贡献者,就得承认 GitHub 有着庞大的社区——他亲眼见过一个项目搬离 GitHub 后贡献量显著下滑。

HN 评论精华

649 分、220 条评论。讨论主线有三条:自托管 GitLab 的真实成本、Codeberg 的反 AI 政策与可用性、以及「换到另一个中心化 forge 到底算不算解决问题」的哲学争论。同时值得注意的是,很多人并不认同前提——beanjuiceII 直接说「我用得挺频繁,并没有觉得它在持续宕机」。