はじめに
趣味や学校でGitに触ることなく新卒で入社してきた人にとってGitでの資産管理はなかなか学習ハードルが高い。
実際に新卒研修で一通りは触るようなカリキュラムにしているものの、
頭に「???」が飛んでいるのが見てわかる。
Web上にはGitの概念や各コマンドを分かり易く解説してくれている素敵なページがいくつもあるが、
やはりコミットが遷移していく流れ等は図だけではなかなかわからないものがある。
実務上はgitコマンドよりもVSCodeのソース管理機能や拡張機能のGitGraphで
なんとなく操作ができてしまうため困らないかもしれないが、
GUIでの操作では解決できない問題や、GUI上の操作の裏で何が起きているのかを知る意味でも
gitコマンドでの操作は一通り理解しておくに越したことがない。
良い学習教材がないかと調べていたら、ミッションクリア型のゲームとして
gitの概念や操作を一通り学べる「Oh My Git!」というOSSのゲームがあったのでプレイしてみた。
Oh My Git!
公式サイト
以下の公式サイトから無料でダウンロードできる。対応OSはWindows、Mac、Linux。
Zip形式で解凍するだけなのでインストールは不要。
内容
以下ゲーム内で学べるチャプターのタイトル。
各チャプターには複数のステージがあり、1つずつこなしていくことで操作を学ぶことができる。
- intro
- files
- branches
- merge
- index
- remotes
- changing-the-past
- shit-happens
- workflows
- stash
- tags
プレイ画面
画面中央の部分は現在のリポジトリの状況が可視化され、下部にはコマンドが書かれたカードがある。
画面右側には状況の説明と達成すべきミッションが赤枠で記載されている。
条件を達成すると緑色になってクリア扱いとなる。
画像の例では、ブランチのheadとコミットがぐちゃぐちゃになってしまったので、git checkout
やgit reset --hard
で正しい状態にするというお題。
画面下側のコマンドのカードは、それを画面上部にドラッグ&ドロップでプレイしていくことで、
カードに記載されたgitコマンドが実行されるシステムになっている。
カードをプレイすると、連動したgitコマンドが画面右下のターミナル部分に出力されるため、
カードの絵、リポジトリに起こった変化、ターミナルに出力されるコマンドの3点で動きを把握できるため頭に入りやすいと感じた。
まとめ
ゲーム自体は筆者がやった限りでは2時間かからないぐらいでクリアできたが、
git初心者が真面目にやろうとすると3~4時間以上はかかるぐらいのボリュームはあるのではないかと思う。
また、プレイ画面を見てわかる通り、全て英語で日本語は対応していない。
難しい単語や構文は出てこないものの、git以前にそこで「ウッ」となってしまう人は多そうである。
ちなみに慣れている人はターミナル部分に直接コマンドを打ちこんでも操作が可能。
1周目はカードで、2周目はコマンドでといった遊び方もできそう。
筆者は触っていないが、他のGit学習コンテンツとして「Learn Git Branching」というものがあった。
こちらはゲーム形式ではないものの、リポジトリ内の状況を可視化しながらコマンドの学習ができそうだった。
以上。