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


SnapCode: A Java IDE for the Web
27/02/2024

Thanks to CheerpJ and WebAssembly you can now run a Java IDE inside your browser and local first.This is SnapCode, and while lightweight and in-browser, is to be not underestimated.



nginx Core Developer Announces New Fork
23/02/2024

One of the core developers of nginx has said he is no longer working on the development of the popular and widely used nginx web server, and is instead working on a new fork. Maxim Dounin release [ ... ]


More News

raspberry pi books

 

Comments




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