A curated list of articles, videos, and tools to deepen your understanding of Git.
- Git SCM Documentation
- Pro Git Book (Free)
- Conventional Commits Specification
- GitHub Docs
- GitLab Docs
- Atlassian Git Tutorials
- Git Guides by GitHub
- Stacking.dev Git Learning
- Learn Git Branching (Interactive)
- Traversy Media – Git Crash Course
- The Net Ninja – Git & GitHub Tutorial Series
- freeCodeCamp – Git and GitHub Full Course
- GitHub Desktop
- GitKraken
- Sourcetree
- Oh My Zsh Git Plugins
- Git Visualizer
- Gitignore.io - Generate .gitignore files
- Git History - Visualize file history
- Commitizen - Conventional commit helper
- Learn Git Branching - Visual and interactive Git tutorial
- Git Kata - Git exercises and practice scenarios
- Visualizing Git - See Git commands in action
- Git Exercises - Auto-graded Git challenges
- Oh My Git! - Open-source game to learn Git
- GitHub Learning Lab - Hands-on courses
- Katacoda Git Scenarios - Browser-based Git practice
- Try Git - GitHub's learning resources
- GitLab Learn - GitLab tutorials and courses
- Stack Overflow - Git Tag - Q&A for Git problems
- r/git - Git subreddit community
- Git Cheat Sheet by GitHub - Printable PDF
- Git Flight Rules - What to do when things go wrong
- First Contributions - Practice making your first PR
Free Books:
- Pro Git - Comprehensive Git book (free online)
- Git from the Bottom Up - Understanding Git internals
- Learn Git in a Month of Lunches - Beginner-friendly
Advanced Topics:
- Git Internals - How Git works under the hood
- Advanced Git Tips - Atlassian advanced tutorials
- Git Magic - Advanced Git tricks
- Git from the inside out - Understanding Git's graph structure
- Git Objects - Blobs, trees, commits
- Missing Semester - Git - MIT course on version control
- Think Like a Git - Mental model for Git
- GitHub Git Cheat Sheet - Official PDF
- GitLab Git Cheat Sheet - Printable reference
- Atlassian Git Cheat Sheet - Interactive cheat sheet
- Git Command Explorer - Find the right commands
Explore related Git documentation:
Experiment with Git commands in a test repository before using them in production projects.
Explore, break things, and rebuild — that's the best way to master Git!