Affiliate disclosure
Book titles on this page link to Amazon. As an Amazon Associate, DataField.Dev earns from qualifying purchases — at no additional cost to you.
Further Reading: Version Control with Git
Official Documentation
-
Pro Git by Scott Chacon and Ben Straub (online, free). (Tier 1) The definitive Git book, available for free at https://git-scm.com/book. Chapters 1-3 of Pro Git cover everything from this chapter in more depth, and its Chapter 7 ("Git Tools") covers advanced topics like
git stash, interactive rebasing, and rewriting history. This is the reference you'll come back to throughout your career. -
Git Reference Manual. (Tier 1) https://git-scm.com/docs — the official documentation for every Git command. Terse but comprehensive. Use this when you need to know exactly what a flag does.
Interactive Learning
-
Learn Git Branching. (Tier 1) https://learngitbranching.js.org — a brilliant interactive tutorial that visualizes branches, merges, rebasing, and more. If the branching model from Section 25.5 didn't fully click, spend 30 minutes with this tool. It's the single best resource for developing a visual intuition for how Git branches work.
-
GitHub Skills. (Tier 1) https://skills.github.com — free interactive courses from GitHub that walk you through real workflows (creating repos, branches, pull requests, reviewing code). Excellent for practicing the GitHub-specific concepts from Section 25.7.
-
Oh My Git! (Tier 1) An open-source game that teaches Git using visualizations and puzzles. Good for learners who prefer a game-like environment over reading documentation. Available at https://ohmygit.org.
Deeper Understanding
-
Chacon, S. & Straub, B. (2014). "Git Internals." Pro Git, 2nd ed., Chapter 10. Apress. (Tier 1) Free online at https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain. If you're curious about how Git actually works under the hood — how commits are stored as objects, how branches are just pointers to commit hashes, how the staging area is implemented — this chapter demystifies the magic. Understanding internals helps you reason about complex situations.
-
Perez-De-Rosso, S. & Jackson, D. (2013). "What's Wrong with Git? A Conceptual Design Analysis." Onward! 2013. (Tier 1) An academic paper that analyzes Git's design from a usability perspective. It traces Git's confusing behavior (the staging area is a prime example) back to its underlying concepts and proposes a simpler conceptual model, which became the basis of the authors' Gitless project. Interesting for students who want to think critically about tool design.
Git in Professional Practice
-
Atlassian Git Tutorials. (Tier 1) https://www.atlassian.com/git/tutorials — well-written tutorials covering workflows like Gitflow, forking workflows, and feature branch workflows. Particularly useful is their comparison of branching strategies, which extends the feature branch workflow from Section 25.5.4.
-
Conventional Commits. (Tier 2) https://www.conventionalcommits.org — a specification for standardized commit messages (e.g.,
feat:,fix:,docs:). Many professional teams adopt this convention. Reading the spec takes 5 minutes and helps you understand the commit message discipline described in Section 25.9.
GitHub-Specific Resources
-
GitHub Docs: Getting Started. (Tier 1) https://docs.github.com/en/get-started — official documentation for GitHub workflows, including forking, pull requests, issues, and project boards. Covers the collaboration features from Section 25.7 in detail.
-
GitHub Open Source Guides. (Tier 1) https://opensource.guide — practical guides for contributing to and maintaining open-source projects. Relevant to Case Study 1 (How Open Source Projects Use Git). The "How to Contribute" guide is particularly valuable for first-time contributors.
Recovery and Advanced Operations
-
"Oh Shit, Git!?!" (Tier 2) https://ohshitgit.com — a humorous, practical guide to recovering from common Git mistakes. Covers many of the scenarios in Case Study 2, plus additional recovery techniques. The language is colorful but the advice is solid.
-
git filter-repo. (Tier 2) https://github.com/newren/git-filter-repo — the history-rewriting tool that Git's own documentation recommends in place of the older
git filter-branch. Use it to purge a file (such as one containing a leaked secret) from every commit. Mentioned in Case Study 2. -
BFG Repo Cleaner. (Tier 2) https://rtyley.github.io/bfg-repo-cleaner/ — another tool for removing large files or sensitive data from Git history. Also mentioned in Case Study 2. Faster and simpler than
git filter-branchfor most use cases.
For the Curious
-
Torvalds, L. (2007). "Tech Talk: Linus Torvalds on git." Google Tech Talk. (Tier 2) A famous and entertaining talk where Linus Torvalds (the creator of both Linux and Git) explains why he built Git and why he considers other version control systems inferior. Highly opinionated, technically illuminating, and a window into the mind of one of the most influential software engineers in history. Available on YouTube.
-
Preston-Werner, T. (2009). "The Git Parable." (Tier 2) A thought experiment that explains how Git works by building a version control system from scratch, step by step. If you learn best by understanding why things are designed the way they are, this essay is excellent. Free to read at https://tom.preston-werner.com/2009/05/19/the-git-parable.html.