67
41

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

エニプラAdvent Calendar 2024

Day 24

Gitの概念とコマンド操作を学べるゲーム「Oh My Git!」を遊んでみた

Last updated at Posted at 2024-12-23

はじめに

趣味や学校でGitに触ることなく新卒で入社してきた人にとってGitでの資産管理はなかなか学習ハードルが高い。
実際に新卒研修で一通りは触るようなカリキュラムにしているものの、
頭に「???」が飛んでいるのが見てわかる。

Web上にはGitの概念や各コマンドを分かり易く解説してくれている素敵なページがいくつもあるが、
やはりコミットが遷移していく流れ等は図だけではなかなかわからないものがある。

実務上はgitコマンドよりもVSCodeのソース管理機能や拡張機能のGitGraphで
なんとなく操作ができてしまうため困らないかもしれないが、
GUIでの操作では解決できない問題や、GUI上の操作の裏で何が起きているのかを知る意味でも
gitコマンドでの操作は一通り理解しておくに越したことがない。
良い学習教材がないかと調べていたら、ミッションクリア型のゲームとして
gitの概念や操作を一通り学べる「Oh My Git!」というOSSのゲームがあったのでプレイしてみた。

Oh My Git!

公式サイト

以下の公式サイトから無料でダウンロードできる。対応OSはWindows、Mac、Linux。

Zip形式で解凍するだけなのでインストールは不要。

内容

以下ゲーム内で学べるチャプターのタイトル。
各チャプターには複数のステージがあり、1つずつこなしていくことで操作を学ぶことができる。

  1. intro
  2. files
  3. branches
  4. merge
  5. index
  6. remotes
  7. changing-the-past
  8. shit-happens
  9. workflows
  10. stash
  11. tags

プレイ画面

画面中央の部分は現在のリポジトリの状況が可視化され、下部にはコマンドが書かれたカードがある。
画面右側には状況の説明と達成すべきミッションが赤枠で記載されている。
条件を達成すると緑色になってクリア扱いとなる。

画像の例では、ブランチのheadとコミットがぐちゃぐちゃになってしまったので、git checkoutgit reset --hardで正しい状態にするというお題。

git_01.jpg

git_02.jpg

画面下側のコマンドのカードは、それを画面上部にドラッグ&ドロップでプレイしていくことで、
カードに記載されたgitコマンドが実行されるシステムになっている。
カードをプレイすると、連動したgitコマンドが画面右下のターミナル部分に出力されるため、
カードの絵、リポジトリに起こった変化、ターミナルに出力されるコマンドの3点で動きを把握できるため頭に入りやすいと感じた。

まとめ

ゲーム自体は筆者がやった限りでは2時間かからないぐらいでクリアできたが、
git初心者が真面目にやろうとすると3~4時間以上はかかるぐらいのボリュームはあるのではないかと思う。
また、プレイ画面を見てわかる通り、全て英語で日本語は対応していない。
難しい単語や構文は出てこないものの、git以前にそこで「ウッ」となってしまう人は多そうである。

ちなみに慣れている人はターミナル部分に直接コマンドを打ちこんでも操作が可能。
1周目はカードで、2周目はコマンドでといった遊び方もできそう。

筆者は触っていないが、他のGit学習コンテンツとして「Learn Git Branching」というものがあった。
こちらはゲーム形式ではないものの、リポジトリ内の状況を可視化しながらコマンドの学習ができそうだった。

以上。

67
41
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
67
41

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?