首页 › games › 《Oh My Git》把最吓人的命令行,做成一副卡牌

《Oh My Git》把最吓人的命令行,做成一副卡牌

每个程序员都经历过那一幕:git reset 敲下去的瞬间手心冒汗,rebase 之前先截图留证。Git 是程序员日常工具里被诅咒次数最多的一个,命令像咒语,报错像天书。德国有两个开发者看准了这份恐惧,把它做成了一副卡牌游戏——你拖一张"commit"卡,屏幕上的仓库图谱就实时长出一个新节点。这个项目叫 Oh My Git!,开源、免费、不卖一分钱,但它的钱路值得每个想做独立游戏的开发者抄一遍。

仓库档案

项目 信息(2026-10-02 查证)
仓库 git-learning-game/oh-my-git
Star / Fork ⭐ 2,893 / 218(据 GitHub API)
主语言 GDScript(Godot 3 引擎)
License Blue Oak Model License 1.0.0(README 声明)
作者 bleeptrack(Sabine Wieluch,艺术家/创意技术专家,乌尔姆大学神经网络研究所在读博士)与 blinry(Sebastian Morr,德国计算机科学家/程序员/设计师),两人核心团队
创建时间 2020年3月
最近推送 2025年12月,项目自称处于“低维护模式”
发行渠道 itch.io 免费下载(Windows/macOS/Linux),官网 ohmygit.org,无网页版
资金 2020/2021年获德国 Prototype Fund 六个月资助

组织账号 git-learning-game 看着像机构,其实背后就两个人加一群社区贡献者,是标准的"2+N"小团队结构。代码量也不吓人:核心逻辑 GDScript,加上卡牌界面和实时图谱渲染,属于个人开发者通读一周就能吃透的量级。

这游戏是什么

一句话:在一个游戏沙盒里,用真实 Git 命令解谜闯关,仓库内部结构全程画在你眼前。

每关屏幕上摆着一个可视化仓库——分支、提交、HEAD、暂存区全是活着的图形。左上角是任务描述(“把 feature 分支合并进 main”),你手里有两种操作方式:拖卡牌(每张卡是一个 Git 命令,自带说明和图标),或者打开内置终端直接敲任意命令。游戏里跑的是货真价实的 Git,不是模拟器。每敲一条,图谱立刻重绘,你能看见 git branch 在图上掰出新岔路、git merge 把两条历史拧成一股。游戏每关结束自动跑一段 Bash 脚本检查仓库状态,返回 0 就过关。关卡按章节组织:intro、index、branches、merge、remotes、stash、tags、bisect,甚至有一章就叫 shit-happens——专教搞砸了怎么救回来。

flowchart TD
    A[进入关卡:读任务描述,看目标图谱] --> B{选择出牌方式}
    B -->|拖一张卡牌| C[执行真实 Git 命令]
    B -->|终端自由输入| C
    C --> D[仓库图谱实时重绘<br/>分支、提交、HEAD 全部画出来]
    D --> E{过关判定:自动运行 win 脚本}
    E -->|返回 0| F[过关音效加庆祝文案,解锁下一关]
    E -->|返回非 0| G[图谱停在当前状态,零惩罚]
    G --> B
    F --> H[通关后意犹未尽?<br/>照关卡格式写一关,提 PR]
    H --> I[关卡合入主线<br/>全世界玩家玩你出的题]
    I --> A

为什么上头

它没有血条没有金币,但把几套经典上头机制全都用上了,而且用在了程序员最痛的地方。

第一,反馈延迟约等于零。 教程里学 Git 的最大障碍是“我敲了命令,但脑子里什么都没发生”——文件变了,可概念还是抽象的。这游戏把你做的每件事画出来:提交是一颗新节点,分支是一条新岔路,reflog 是挂在旁边的书签。输入到看见结果之间没有一步多余的等待,这种即时可视化反馈正是俄罗斯方块、2048 让人停不下来的底层配方,只不过奖励物从分数换成了“啊,原来如此”。

第二,零风险沙盒拆掉了恐惧墙。 现实中没人敢拿公司仓库练 rebase -i,怕搞坏的心智成本让大多数人永远停留在 add/commit/push 三连。游戏里乱敲命令没有任何代价,图谱停在哪儿都可以从头再来。恐惧一旦移除,探索欲立刻接管——这正是 shit-happens 这一章存在的意义:它不是教你不犯错,而是示范搞砸了也不可怕。

第三,能力解锁式的进度感。 十三个章节是一条技能树:先学会暂存和提交,再解锁分支、合并、改写历史(changing-the-past)、储藏、标签、二分排错、远程协作。每过一关,真实世界里的你就多会一招——游戏进度和职业技能同步增长,这种“我在变强”的实感比任何经验条都值钱。

第四,双难度曲线兜住两头。 新手拖卡牌,卡面就是文档;老手直接开终端玩真的。同一关可以有多种解法,游戏全认。胜利条件不是“你用了某条命令”,而是“仓库到达了目标状态”——目标图谱就画在旁边,你永远知道自己离过关差几步。

第五,UGC 飞轮。 关卡是纯文本文件,格式简单到 [setup] 放初始化命令、[win] 放判定脚本。玩家通关后顺手写一关提 PR,内容众包让游戏自己长大。这套“玩家即关卡设计师”的循环,是很多商业游戏花大价钱都买不来的。

技术拆解

这个仓库对开发者的价值,一半在游戏,一半在架构。四个可直接抄走的点:

真实 Git 而非模拟器。 游戏内嵌了一个真正的 Git,所有命令跑在真实的仓库上,可视化层只是把 .git 目录里的对象、引用、HEAD 位置解析出来画成图。这个分层——“真实工具执行 + 状态可视化渲染”——是任何 CLI 教学游戏都通用的骨架。

关卡即数据。 一个关卡一个文本文件,五个区段:[description] 任务描述、[cli] 命令提示、[congrats] 过关文案、[setup] 用 Bash 初始化仓库、[win] 用 Bash 判定过关。内容和引擎彻底解耦,不会写 GDScript 的人也能出题。更妙的是 [setup 远程名]、[win 远程名] 这种多仓库区段——所有仓库自动互加 remote,于是教协作流程和教单机操作用的是同一套机制,不需要额外的联机代码。

卡牌即文档。 卡牌界面把“命令、说明、图标”压进一张卡,操作与教学合二为一。这个设计对任何“命令行工具游戏化”的项目都成立:卡牌降低记忆负担,终端保留自由度。

两处彩蛋级的细节。 一是许可证选了 Blue Oak Model License——一份专门为“防专利讹诈”设计的现代许可证,README 里还顺手安利“值得一读”;二是仓库 2025 年底最后一次推送后进入低维护模式,README 写得非常坦诚:简单修复会合并,大改动请先来聊。这种诚实本身就是开源项目的品牌资产。

想复用的话,最有价值的三个组件是:仓库图谱实时渲染器、关卡文件加载器加 Bash 判定器、卡牌式命令 UI。搬去 Web 技术栈(比如用 isomorphic-git 或直接调 git CLI)并不难。

变现观察

先说结论:这个游戏没有一分钱直接收入。itch.io 免费下载,没有内购、没有广告、没上 Steam,官网唯一的“求支持”是两个 Patreon 链接。

它真正的钱来自 Prototype Fund——德国联邦教育及研究部(BMBF)出资、Open Knowledge Foundation Germany 运营的公共创新基金,专门资助开源和公益向的数字项目。两位开发者拿了六个月工资,把游戏做出来后开源给全世界。这是“付钱的人不是玩家”的典型模型:玩家是受益者,纳税人通过基金付账。官网当年那句"Our current funding will run out at the end of February"也诚实得可以——资助到期,项目转入低维护,非常真实。

这条路对个人开发者的启发在于:教学类游戏的变现客户天然不是 C 端玩家,而是机构。 同类产品里跑通的案例清一色印证这一点——CodeCombat 靠学校采购和订阅,Vim Adventures 直接付费,Human Resource Machine、EXAPUNKS 这类“编程游戏”在 Steam 卖买断也验证了知识型游戏有人买单。国内对应的路径是各地文创科创基金、开源社区资助、高校实验课程采购、企业内训定制。重点是换脑子:别盯着“玩家愿意付多少”,去想“哪个机构愿意为这个教学效果付多少”。

给我的灵感

点子一:换壳做「Oh My SQL / Oh My Docker」。 这游戏最值钱的不是 Git,是“关卡文件 + setup 初始化 + win 脚本判定 + 实时图谱”这套四层架构。换成 SQL(可视化表关系和查询结果)或 Docker(可视化容器与镜像层),架构原封不动。MVP 工作量 2-4 周(Web 技术栈可以完全绕开 Godot)。变现走 B 端:卖给培训机构做配套练习,或企业内训授权——一个新员工入职实训场景就值回票价。

点子二:网页轻量版吃短视频流量。 原版必须下载桌面端,这是它传播的最大瓶颈。砍到只保留 add、commit、branch、merge 四张卡的“Git 闯关 H5”,五分钟玩完,配一个“你的分支策略是哪种人格”的分享页,往抖音、小红书、B 站发“程序员水平测试”内容引流。变现:网页广告打底,高级章节 9.9 到 29.9 买断解锁。MVP 两周以内,一个人能做。

点子三:每日一题加 AI 考官。 shit-happens 章节天然是个“搞砸仓库”题库。每天发布一道“这个仓库被前同事搞坏了,修好它”,限时、连续打卡、好友排行;玩家自由敲命令,接一层 LLM 当考官——不给答案,只读 win 脚本和当前仓库状态给提示。变现是订阅题库,更进一步是企业招聘测评:让候选人在沙盒里修仓库,付费方是 HR。注意这和 Prototype Fund 是同一个逻辑的当代版本——把付钱的人从玩家换成受益的机构。

最后别漏了它自带的运营机制:关卡即 PR。你的教学游戏上线第一天就该内置“玩家出题”通道,UGC 内容成本趋近于零,而每一条被合并的 PR,都是一位自带流量的布道者。

上手

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入