A collection of self-contained Git exercises for deliberate practice and skill sharpening.
Git Katas is a collection of hands-on exercises designed for deliberate practice of Git commands and workflows. It provides self-contained scenarios that help developers build muscle memory and master version control through structured, incremental challenges. The project solves the problem of finding quality, maintained practice material for Git beyond basic tutorials.
Developers learning Git fundamentals, teams conducting Git training workshops, and experienced Git users wanting to sharpen specific skills like rebasing or advanced merging.
Developers choose Git Katas because it offers a curated, pedagogically sound progression of exercises that mirror real-world Git usage, with clear setup instructions and community-maintained quality.
A set of exercises for deliberate Git Practice
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a curated order from basic commits to advanced rebasing, designed by Git instructors, as outlined in the 'Suggested Learning Path' section.
Each exercise includes a setup.sh script and detailed README, enabling immediate practice without complex configuration, as shown in the Quick Start guide.
Open-source with active contributions, ensuring exercises are maintained and expanded, highlighted by the milestone of 1000 stars and welcoming pull requests.
Self-contained katas target specific Git commands like rebasing or merging, allowing deliberate practice to build muscle memory, as per the project philosophy.
Entirely command-line based, which may alienate visual learners or those accustomed to graphical interfaces, limiting accessibility for some audiences.
Exercises do not include answer keys or automated checks, requiring self-assessment or external guidance, which can lead to uncertainty for solo learners.
Setup relies on running shell scripts, which might not work seamlessly on all operating systems (e.g., Windows without Git Bash or WSL), as noted in the testing section.