
A command-line puzzle game where you solve Git word problems by typing real Git commands. From beginner basics to advanced rebasing, master 100 levels of version control challenges and become a Git legend—one commit at a time.
Modeled estimate, not a reported figure. How we estimate →
Media

About
git gud is a terminal-styled puzzle game that teaches you Git the fun way—through 100 levels of increasingly complex word problems that challenge your version control skills. Each level drops you into a realistic scenario: from staging your first commit and branching out new features, to resolving merge conflicts, rolling back mistakes, and mastering rebase. Your goal? Type the correct Git command(s) to solve each problem. You'll get instant feedback as you progress from a clueless committer to a rebasing rockstar.
Designed for beginners and pros alike, git gud simulates a real Git environment to reinforce learning through play. Whether you're prepping for a tech interview, onboarding new developers, or just tired of forgetting how to undo that one Git mistake—we’ve got a level for that. Hints are available, but glory belongs to those who fly solo. Master Git. One command at a time. And yes, get good.
Genres
Stats
All-time low is the lowest price we've recorded for this game since we started tracking it.
Languages: English, French, German, Polish, Portuguese - Brazil, Russian, Ukrainian, Serbian, Spanish - Latin America
Engagement
Hours played at review time, across 30 reviews with recorded playtime.
Reviews
[h3]=== edit 2025/07/31 ===[/h3] Autocomplete was added around 1½ months after the initial release. Although it's still far from ideal... a single tab after an incomplete command fills the blank space with the first match, instead of listing all available commands like a proper shell. For example, [code]git c<tab>[/code] immediately returns [code]git checkout[/code] instead of showing a list of all commands starting with c: checkout, commit, config, clone, etc. (Also, pressing tab multiple times doesn't cycle through the list of suggestions.) [h3]=== original 2025/07/01 ===[/h3] The game is [strike]potentially[/strike] doing more harm than good. [i]git gud[/i] is a game that teaches you a [i]real-world[/i] software development application: Git, which is a version control system (VCS). The software keeps track of the working history of text files in a project, which sounds simple at first if you're working alone, but can become extremely complicated when working on a large-scale project involving lots of people: you have to deal with concurrent file edits, editing files from different versions, etc. This complication is commonly found in software development, and that's where Git emerged. Specifically, Git is software developed by the Linux headquarters; thus, the Unix philosophy applies: [olist] [*] Write programs that do one thing and do it well. [*] Write programs to work together. [*] Write programs to handle text streams, because that is a universal interface. [/olist] This is where the game falls short: it doesn't cooperate with this philosophy at all. The first thing is that the game [i]hijacks[/i] the command-line interface (CLI) from your computer's operating system to make the game (unlike traditional games, which run on game engines, e.g., Unity, GameMaker, Ren'Py, etc.). This is not a bad thing in itself—on the contrary, done right and it could be a [i]great[/i] game. However, the way the game works now is that it just wraps the CLI with its own altered version of a shell, which includes a modified version of Git (with lesser and restricted set of commands.) The wrapped CLI also lacks quality-of-life tools such as autocomplete, pipelines, standard file editors (`vi`, `nano`), etc. Lacking autocomplete alone is more than enough reason to give this game a thumbs down. You see, even veteran software developers who spend their entire lives wrestling with CLIs [i]hate[/i] typing unnecessarily long commands. Why type every character when you can just type a few initials and press tab to complete it? This isn’t just about saving keystrokes, it also helps prevent unintended typos. Furthermore, it offloads our brains from having to remember exact filenames deep in directory structures, allowing us to focus on more important aspects. And why even type the full command at all when you can alias a long one into a much shorter one? For example, the de facto standard command to list every file in a directory alongside their information (permissions, user, size, date modified, etc) is: [code]ls -l --all --classify --color=auto[/code] But we can just type `ll` — double stroke of your right ring. Git itself also comes with the ability to alias (without relying on the shell). For example, you can configure it via: [code]git config alias.st "status --short --branch"[/code] Then you can just type `git st` instead of `git status`. This is even shown in [url=https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases]the official guide[/url]. But you cannot use this feature in the game... Heck, that’s a huge loss. No autocomplete is one thing (older *nix systems didn’t ship with it), but the lack of [i]alias[/i]? That just makes people [i]hate[/i] using the command line, instead of promoting the fun of it. It also misses an opportunity to sneak in fun facts about the history of VCS as a whole, in particular, the alias `ci` for "commit". On first glance, why shorten it to "see-eye" at all when the full command is only one word (unlike `co` for "check out")? Turns out, prior VCSs such as RCS/CVS used the term "check in" for this task. The successors renamed this command to "commit" but still kept the original abbreviation. Furthermore, Git wasn't meant to be used as a standalone tool, which aligns with the Unix philosophy. When you run git log, it should pipeline the entire development history into a program called `less`, allowing you to scroll and search. Or running just `git commit` without arguments should bring up a text editor to let you fill in a multiline commit message, which is good practice for large collaborative projects. It seems like the root cause of this unenjoyable experience stems from the CLI wrapper the game introduces, which takes away [i]vital[/i] commands and interactions between programs. On the other hand, selectively filtering available commands is a reasonable security concern. You wouldn't want players to follow a walkthrough that includes malicious commands, like: [code]dd if=/dev/zero of=/dev/sda bs=512 count=1[/code] Please please PLEASE, [b]DO NOT[/b] run the above command. I got pranked once— not by a stranger on the internet, but by a close friend actually —two decades ago, and my entire PC data was wiped out with no way to recover it. (That’s why we nicknamed the dd command as DataDestroyer™.) This makes me strongly against the idea of doing [i]clever[/i] things via OS-level programs to simulate a game. That’s a risky path to take. Also, if you really want a true Git experience, then go to GitHub, clone a project, and start developing [i]with[/i] others. That’s a far more effective way to learn Git than relying on this game. I think it’s a lot safer to use game engines. Also, many games still manage to simulate a good CLI / software developing experience. Take a look at [i]Hackernet Evolution[/i] (2010), where autocomplete is functional; [i]MHRD[/i] (2017), which features a "fake" boot screen that immerses you in a nostalgia programming world; or [i]TIS-100[/i] (2015), which was designed with a fictional programming language (instead of using a real-world tool) and still makes it fun and challenge and you [i]actually[/i] learn some real-world programming skills! Apart from the bad UI/UX, its Git lessons aren’t much better: [list] [*] It still uses `master` as the default branch, despite Git officially changing this to `main` in 2020. [*] It clings to obsolete Git practices. For example, to unstage files, it uses `git reset --`, which is a dangerous command—you might accidentally use it with `--soft` or `--hard`, leading to data loss. (Now, official Git recommends `git restore --staged` instead.) [*] It teaches "a single command to add all files and commit right away", even though in real-world development, we use `git add --patch` to selectively add only the necessary lines, skipping debug code. We also [i]review[/i] staged changes before committing, not just [i]blindingly[/i] commit it right away. [*] It doesn’t teach how to read the diff [i]insightfully[/i]. Instead of comparing multi-line files with small changes, it compares two one-line files—so you can't really see what changed. [*] It doesn’t get serious about resolving merge conflicts—it only allows two options: take all incoming changes or discard them all. In reality, we often need to blend changes together. [/list] Don’t get misled by its cheap price tag. You wouldn’t want to buy and drink poison, right?
A nice refresher course for a lot of different git commands! Unlike other titles in a similar vein, it doesn't tackle the intricacies of a non-linear history, preferring to instead have the user be familiar with the intricacies with a lot of different git commands. It's aimed at people who already are familiar with graphical git interfaces, though, so that's fine. Some criticisms: The game is a bit borked on Linux at the moment (I had to run it from it's files) and the validator is frequently... off the mark. I worked around this by reading the hints for the syntax the game wanted me to use, and that gets into another problem - the hints often just flat out tell the user how to solve the problem. I would've preferred something more along the lines of "This is where you can find the documentation". Additionally, more complex challenges layering different features would also be on the list. Something like using bisect to find a specific commit and them merging an appropriate branch to fix it. Would've been cool. However, even with those flaws, the price of the game stops any hesitation from me recommending it. You know what you're getting - and I would gladly pay 3 dollars to spend the next 3 hours reacquainting myself with git over a nice cup of tea.
If you need a refresher on Git or are new to it, this “game” is a great way to learn. For the cost, you won’t find a more interactive learning resource.
[h1]Portuguese/English[/h1] [h2] English [/h2] I felt the lack of a story to give context to the cases, but if the bugs are fixed, it's possible to have some fun. However, the game won’t teach you Git unless you already have some idea of how it works and understand repository concepts. I stopped playing at puzzle 4 because the answer I gave wasn’t accepted, even though the system's “hint” was exactly the same as my answer. [h3]Bugs[/h3] [list] [*] GUI doesn’t allow resizing; if you maximize and then restore the window, the layout breaks [*] Hints contain the answers to the puzzles, and some of them don’t work [/list] [h3]Suggestions:[/h3] [list] [*] Add auto-complete support, especially for file names [*] Fix the GUI bugs [*] Improve the GUI to support maximization [/list] [h2] Português [/h2] Senti falta de uma história para dar um contexto aos casos, mas se corrigirem os bugs, dá pra brincar um pouco, no entanto o jogo não vai te ensinar o git, apenas se tu já tiveres alguma ideia de como funciona, e entender os conceitos do repositório. Tem alguns Bugs ainda, parei de jogar no puzzle 4 pois a resposta, que dei não foi aceita e a "dica" do sistema era justamente a resposta que dei. [h3]bugs[/h3] [list] [*] Gui não aceita mudar o tamanho, se maximizar a janela e depois voltar, o GUI fica quebrado [*] Hints tem as respostas dos puzzles, e alguns não funcionam. [/list] [h3]dicas:[/h3] [list] [*] criar suporte de auto complete, principalmente no nome dos arquivos [*] resolver o GUI [*] melhorar o GUI para maximizar [/list]
Fairly well rounded and comprehensive learning tool to Git. However there are a number of bugs in the current version which may cause frustration in a select few challenges where multiple solutions are valid but only one intended path is accepted. Additionally, it's not a complete replication of a shell environment and there are gaps in what the simulation of Git supports. Overall a fun little distraction over an afternoon and possible to 100% in a couple hours for experienced Git users.
Its not a game tho, no gameplay, no rpg system, no nothing. Take for example game "Thile true: Learn()". They care about it so they add some story line about player finding out how to teach LM to translate cat lang. They even added some side quest and even hardware shop for speed boos LM learning... As for "just to learn some git tool" - its ok, got few tricks from here but dont expect it to be somethin bigger than just that. UPD Could you please add some feature so i can go back to prev. challenge and complete them without using hint to get achivement? You know, kinda hard to dare to reset whole progress if i missed 21-31 or 11-21... Thats would make this "learning tool" some game like.
No scaling. No native dark mode (workarounds where you can use your local terminal in Linux but I've found it to be buggy). Help commands open external documentation in your browser instead of in the terminal. It's a no for me.
although the game is a good refresher on git or even if you are brand new to git its a good starting point(we could say its the vimtutor of git imo) it still needs a little bit of work. i.e interactive rebase (at least on the linux build) do not fully work since there is no EDITOR which causes the challenge to succeed when it shouldn't. The game also needs a dark theme at least for linux I do not see a way to set the terminal to a dark theme or even change the font. despite of that the game is still pretty good :)
GitGud
Отличная игра, чтобы прийти после работы и отвлечься от нее
Related
Related
Trends
Concurrent players on Steam, sampled daily since tracking started.
Audience
Estimated from the language of this game's reviews — a proxy for where players are, not official Steam demographics.
Related
| Euro Truck Simulator 2 | $421.6M | 932.1K | 97% | $19.99 |
| Stardew Valley | $243.2M | 1M | 98% | $14.99 |
| Garry's Mod | $228.7M | 1.3M | 97% | $9.99 |
| Cities: Skylines | $203.5M | 290.6K | 93% | $29.99 |
| Factorio | $140.6M | 232.2K | 98% | $35.00 |
| Cities: Skylines II | $112.5M | 90.6K | 55% | $49.99 |
Related
| What's Your Gender? | $3.1K | 122 | 75% | $1.99 |
| Putin kills: Coronavirus | $3.1K | 184 | 79% | $0.99 |
| My First Femboy Date | $3.1K | 333 | 85% | $0.99 |
| Project Remedium | $3.1K | 163 | 32% | $0.99 |
| Apotheorasis • Lab of the Blind Gods | $3.1K | 55 | 84% | $2.99 |
| Bird Game 3 | $3.1K | 50 | 68% | $2.49 |