“Git 分支?不就是几条线嘛!”
—— 直到第一次遇到三方合并、rebase、cherry-pick 之后,我才发现自己根本不会用 Git。
如果你也曾在 git log --graph 里迷失,或者对着同事的“优雅”提交历史发呆,那么今天推荐的 LearnGitBranching 绝对能让你“无痛”进阶。
1. 项目速览:把 Git 命令做成“闯关游戏”
| 项目 | 地址 |
|---|---|
| 在线体验 | learngitbranching.js.org/?locale=zh_… |
| GitHub | github.com/pcottle/lea… |
| Star 数 | 32 k |
| 开源协议 | MIT |
一句话总结:
LearnGitBranching 是一个纯前端(100 % JavaScript)的交互式 Git 沙盒,用“关卡 + 可视化”的方式教会你所有日常及高阶分支操作。
2. 为什么要安利它?
| 痛点 | LGB 的解法 |
|---|---|
| 命令行抽象,看不见摸不着 | 右侧实时渲染提交树,每一步操作都可视化 |
| 本地仓库不敢随便折腾 | 浏览器沙盒,零成本试错 |
| 传统教程枯燥,记忆不深 | 游戏化闯关 + 即时反馈,像打副本一样学 Git |
| 英文门槛 | 官方简体中文版,无障碍 |
3. 快速上手:5 分钟通关「基础篇」
打开网页后,界面分左右两栏:
- 左侧:模拟终端,输入真实 Git 命令。
- 右侧:实时生成节点图,提交、分支、HEAD 一清二楚。
举个栗子:第 1 关 “Git Commit”
- 目标:创建两次提交。
- 跟着提示键入:
git commit
git commit
右侧立刻多出两个节点,毫无心智负担!
4. 课程体系:从入门到“花式”玩法
| 篇章 | 关键词 | 关卡示例 |
|---|---|---|
| 基础篇 | commit、branch、merge、rebase | 经典“创建分支 → 合并”流程 |
| 高级篇 | reset、cherry-pick、交互式 rebase | 改写历史不再是噩梦 |
| 远程篇 | fetch、pull、push、团队协作 | 模拟多人冲突与同步 |
| 沙盒模式 | 自定义关卡 | 想怎么玩就怎么玩 |
5. 进阶技巧:把学习成果搬到生产环境
- 刻意练习:每闯一关,立即在真实仓库里复现一次。
- 团队 Onboarding:新人入职先通关 10 关,减少“误伤”主分支。
- 分享场景:用“自定义关卡”把公司典型冲突场景做成练习,供全员刷题。
6. 本地部署:一条命令搞定
有服务器或内网需求?官方提供了 Docker 镜像:
docker run -p 8080:80 ghcr.io/pcottle/learngitbranching:main
打开 http://localhost:8080,内网也能愉快闯关。
7. 写在最后
“最好的 Git 教程,就是让你忘记自己在学 Git。”
LearnGitBranching 用可视化 + 游戏化的方式,把抽象的命令变成了可交互的“乐高积木”。
下次再有人抱怨 Git 难学,直接把链接甩给 Ta 吧!
— 快去冲关,祝你早日成为团队里的“分支魔术师”!