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 cover everything from this chapter in more depth. Chapter 7 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. (2020). "Git Internals" (Pro Git, Chapter 10). (Tier 1) 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 explains why certain Git operations are confusing (e.g., the staging area, the difference between reset and revert) and proposes improvements. 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 Section 25.9.

  • 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.

  • BFG Repo Cleaner. (Tier 2) https://rtyley.github.io/bfg-repo-cleaner/ — a tool for removing large files or sensitive data from Git history. Mentioned in Case Study 2. Faster and simpler than git filter-branch for most use cases.

For the Curious

  • Torvalds, L. (2007). "Git." Talk at Google. (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.

  • The Git Parable by Tom Preston-Werner. (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. Search online for "The Git Parable" — it's freely available.