如果你觉得学习 Git 很枯燥,那是因为你还没玩过这款游戏!

大家好,我是小 G。

对于 Git 这款工具,相信很多开发者都不会感到陌生。

作为目前最为流行的分布式版本控制工具,Git 打从 2005 年面世时起,便一直受到无数开发者喜爱。随着时间的慢慢推移,Git 发展到了今天,也成为了诸多开发者人手必备的开发工具。

2007 年,Chris Wanstrath、PJ Hyett 和 Tom Preston-Werner 三名开发者基于 Ruby on Rails 框架,联手开发了一个可用于托管项目源码的网站:GitHub。

现如今,GitHub 已成为世界最大的开发者社区,在上面,每天都有大量开发者使用 Git 进行协作开发,也累积下一批批优质的开源项目,为后来者提供了宝贵的学习机会与参考价值。

因此,学会使用 Git,相当于你购入了一张通往世界顶级开发者社区的门票。

今天,学习 Git 已不再是难事,回想我在早年间刚接触 Git 那会,中文互联网上于此相关的资料少的可怜,更不用说有人讨论 GitHub 上的开源项目了。

我最早接触 Git 和 GitHub 的时候,是读了 Michael Hartl 的一本书《Ruby on Rails tutorial》。这本书可以说是打开了我通往技术圈的一扇大门,里面教授的各种编程理念与开发技巧,令我受益至今。感兴趣的同学,可以自己去找来看一下。

下面我们接着聊回 Git。

如果你想学好 Git,用 Google 和百度一搜,就能找到很多适合新手学习的入门书籍,

但是,文字的表现张力往往不如画面来的强烈,缺少实时交互反馈机制,也是其最大的硬伤之一。

如果你觉得学习 Git 的过程非常枯燥且乏味,那不妨换一种方式。比如,通过玩游戏来学好 Git 的基础操作。

今天在这里给大家推荐一款游戏:Learn Git Branching。

Learn Git Branching 的作者,是毕业自美国加州大学伯克利分校的一名开发者:Peter Cottle。

在这款游戏中,开发者需要通过一系列关卡挑战,来慢慢掌握对 Git 的使用。在每一个关卡里面,作者都会为你提前设定好一个 Git 学习目标。

当你真正沉浸其中,研究具体该如何进行下一步操作时,你学会用 Git 便指日可待了。

具体演示如下:

该项目的玩法整体都比较简单,没有过多花里胡哨的东西,配合网站上默认集成的虚拟终端环境与预览页面,可以让我们很清晰的看到每一行命令的实际运行效果。

这种实时交互反馈式的编程体验,无疑能让开发者更为亲切的感受到 Git 的魅力。

同时,来自不同国家的开发者还在 GitHub 上为该项目翻译了中文、日文、韩文等多个语言版本。

在很久前,这款游戏的所有代码便早已开源到了 GitHub 上,想研究它具体原理实现的同学,也可以看一下:

https://github.com/pcottle/learnGitBranching