Oh My Git! The Game
Written by Nikos Vaggalis   
Friday, 19 March 2021

Learn how to use Git with this fun, interactive game which takes you from being a complete newbie to efficient expert by covering everything you are likely to need. 

Oh My Git! takes an unusual approach. Instead of being offered as an online playground it ships as multi-platform, self-contained, binaries including git-bash!

I installed the Windows version and despite the cavet that it's still under development and laggy under this OS I didn't notice anything annoying.

Oh My Git! is an interactive game for learning how to use Git, addressed to total beginners. You won't be a beginner after you finish the game though, since while it starts with the bare basics it steadily moves on to the more advanced features like rebasing, merging, pushing, pulling, tagging and so on. In other words it covers the essentials and most popular scenarios for day-to-day activities.

As far as the game itself is concerned, its main asset is that it visualizes the user's git actions. For example, whenever I commit on the main branch, a square appears that represents my commit and links back hierarchically to the other commits, with the freshest commit being the closest to the head of the  branch.

The commands can be performed either in command line or visually by utilizing the command play cards which when played run the command for you instead of you having to type it. It's a good approach for those who learn best visually and, of course, for those that can't remember commands off the top of their head.

The pattern of working through the game is that you have a file(s) which you amend according to the instructions appearing on the right side of the screen. For instance, as seen in the screenshot below, the first step of the task to take is to do a git pull either by playing the card or typing it. Then you have to open the students file and type in your name, then save it. Every time you complete a step it turns from red to green on the right side of the screen. Finally you commit. Every step on the way is visualized so that you get to understand how the sequence of events take place.

The main levels of the game that you get to play are :

 

  • intro
  • files
  • branches
  • merge
  • index
  • remotes
  • changing-the-past
  • shit-happens
  • workflows
  • bisect
  • stash
  • tags
  • sandbox

 

Each level comes with multiple tasks and each task is split into subsequent steps.

Since the game is open source and hosted on GitHub you can clone it and create your own levels by doing the following:

 

  • Download the latest version of the Godot game engine.
  • Clone this repository.
  • Run the game – the easiest way to do so is to run godot scenes/main.tscn from the project directory.
  • Get a bit familiar with the levels which are currently there.
    Take a look into the levels directory. It's split into chapters, and each level is a file.
  • Make a copy of an existing level or start writing your own. See the documentation of the format below.
  • Write and test your level. If you're happy with it, feel free to send it to us in a pull request!

 

All in all, Oh My Git! is an intuitive game that really teaches you Git. On the support forums some users have been pondering "Where Was This Game When I Switched From Mercurial??".
I think after discovering this game, this question should asked by anyone who has ever struggled with Git.

 

More Information

Oh My Git!

GitHub

Related Articles

GitTrends: GitHub Insights

GitHub Mobile App Available

Sourcegraph Powers Up Your Code Repository

Insight.io - Code Intelligence on GitHub

Grimoire Lab-GitHub - Stats On Steroids

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Brendan Eich Talks About JavaScript & More
05/04/2021

In a recent Lex Fridman podcast, Brendan Eich, the creator 25 years ago of JavaScript and currently of the Brave browser, provided his views on early programming languages, outlined how JavaScript cam [ ... ]



Abel Prize Shared By Math and Computer Science
18/03/2021

This year's winners of the Abel Prize, regarded as one of the highest honors in mathematics, are Avi Wigderson and László Lovász for their contributions to complexity theory and graph the [ ... ]


More News

square

 



 

Comments




or email your comment to: comments@i-programmer.info