「git-game」は、gitの使い方を、クイズを解きながら楽しく学習することができるターミナルゲームです。
このゲームのユニークな点は、通常のゲームと違って、ゲーム自体がgitリポジトリに格納されているところです。実際にgitを操作しながら問題を解いていくことができるので、より実践的なゲームといえるかもしれません。
↑このようにリポジトリには「LICENSE」と「README.md」しか格納されていません。問題はREADME.mdに記述されていて、ある問題を解くための操作を行うと、次の問題が表示される(README.mdが更新される)という仕組みです。
実際に最初の1問にチャレンジしてみました。
ゲームの始め方
ローカルにクローンします。
git clone https://github.com/hgarc014/git-game
次にREADME.mdを確認。次のような問題が出題されていました。
Your first task is to checkout the commit whose commit message is the answer to this question: > When a programmer is born, what is the first thing he/she learns to say?
「きみの最初のタスクは、次の質問の答えと同じコミットメッセージのコミットをチェックアウトすることだ」。その質問とは「プログラマーが生まれた時、彼または彼女は最初に何を言うことを学ぶ?」。
とりあえずコミットメッセージを表示してみると…。
ん?あれをチェックアウトすればいいのかな!?というふうに進めていきます。
まとめ
英語のなぞなぞをときつつ、gitの操作にもチャレンジしないといけないのでなかなか難易度高そうな印象です。Redditでは様々な裏ワザを駆使して問題を解く方法が提案されていますが、真面目にやったほうが勉強になると思います。