Githug is a game-based learning tool that teaches Git through interactive levels requiring players to execute Git commands to solve progressively challenging puzzles.
The tool addresses the challenge of learning Git by making it engaging and practical. Rather than reading documentation, players work through a series of levels where each one presents a specific Git scenario or task. The player must use actual Git commands to reach the correct state, and the tool validates whether the solution is correct. This hands-on approach lets learners discover Git workflows through experimentation and problem-solving.
Githug suits developers new to Git or those wanting to deepen their command-line Git skills through practice. It works on Linux, OS X, and Windows, and installs as a Ruby gem. The tool includes a hint system for stuck players and commands to reset levels or view the full level list. Anyone preferring guided, gamified learning over documentation will find this approach more engaging than traditional tutorials. The project accepts community contributions in the form of new levels, with a clear process for submitting them through the wiki and pull requests.
The project maintains an active backlog of improvements including follow-up content for specific commands and additional levels. Community members have created unofficial Docker images to simplify setup. The codebase uses a domain-specific language for level creation, allowing contributors to define difficulty, descriptions, solutions, and hints without deep framework knowledge, and levels can reference pre-built Git repositories or initialize fresh ones using the underlying Grit library for Git operations.