Chapter 31: Further Reading
An annotated bibliography of essential resources for deepening your understanding of version control workflows, especially in the context of AI-assisted development.
Books
1. Pro Git by Scott Chacon and Ben Straub (2nd Edition, Apress)
URL: https://git-scm.com/book/en/v2 Why read it: The definitive Git reference, available free online. Chapters 3 (Branching), 5 (Distributed Workflows), and 7 (Git Tools) are particularly relevant to this chapter. The book covers Git internals in enough depth to understand why certain workflows work better than others. Essential reading for anyone who wants to move beyond surface-level Git usage.
2. Git for Teams by Emma Jane Hogbin Westby (O'Reilly Media, 2015)
Why read it: Focuses on the human and organizational aspects of Git workflows rather than just the commands. Covers governance models, documentation strategies, and how to choose a workflow that matches your team's structure. While it predates AI-assisted development, the frameworks for evaluating workflows remain highly applicable.
3. Trunk Based Development by Paul Hammant
URL: https://trunkbaseddevelopment.com/ Why read it: A comprehensive online resource dedicated to trunk-based development. Covers short-lived feature branches, feature flags, release strategies, and scaling TBD to large teams. The website provides practical guidance that complements this chapter's discussion of TBD for AI-assisted teams.
Articles and Blog Posts
4. "Conventional Commits Specification" (v1.0.0)
URL: https://www.conventionalcommits.org/ Why read it: The official specification for the Conventional Commits format used throughout this chapter. Includes the formal grammar, FAQ, and tooling ecosystem. Bookmark this as a reference for your team's commit message conventions.
5. "A Successful Git Branching Model" by Vincent Driessen (2010)
URL: https://nvie.com/posts/a-successful-git-branching-model/ Why read it: The original blog post that introduced Gitflow. While the author himself has added a note recommending simpler workflows for many teams, understanding Gitflow is important for evaluating when its complexity is justified. Read this alongside the author's 2020 reflection note at the top of the post.
6. "How to Write a Git Commit Message" by Chris Beams (2014)
URL: https://cbbeams.com/posts/git-commit/ Why read it: The definitive guide to writing effective commit messages, introducing the seven rules referenced in Section 31.3. Despite being over a decade old, these principles remain the gold standard. The examples of good and bad commit messages are especially instructive.
7. "Semantic Versioning Specification" (v2.0.0) by Tom Preston-Werner
URL: https://semver.org/ Why read it: The formal specification for semantic versioning. Essential reading for release management. The FAQ section addresses common edge cases and questions about version precedence, pre-release identifiers, and build metadata.
Tools and Documentation
8. pre-commit Framework Documentation
URL: https://pre-commit.com/ Why read it: Comprehensive documentation for the pre-commit framework used in Section 31.9. Covers installation, configuration, hook creation, and the extensive ecosystem of existing hooks. The "Creating New Hooks" section is valuable if you want to build custom hooks for AI-assisted development workflows.
9. GitHub Flow Guide
URL: https://docs.github.com/en/get-started/using-github/github-flow Why read it: GitHub's official guide to their recommended workflow. Covers branch creation, commits, pull requests, reviews, and deployment. While simpler than the workflows in this chapter, it provides a clean baseline that can be extended for AI-assisted teams.
10. Atlassian Git Tutorials — Comparing Workflows
URL: https://www.atlassian.com/git/tutorials/comparing-workflows Why read it: An excellent visual comparison of Git workflows including centralized, feature branch, Gitflow, and forking workflows. The diagrams and explanations make it easy to understand the trade-offs. Useful as a reference when explaining workflow choices to your team.
Research and Industry Reports
11. Accelerate: The Science of Lean Software and DevOps by Nicole Forsgren, Jez Humble, and Gene Kim (IT Revolution Press, 2018)
Why read it: Presents research linking trunk-based development, continuous integration, and other practices to software delivery performance. The data-driven approach to evaluating workflows provides strong justification for the practices recommended in this chapter. Chapter 4 on technical practices is most relevant.
12. "The Impact of Code Review on Software Quality" (Microsoft Research)
Why read it: Academic research on code review effectiveness, including the relationship between PR size and review quality. Supports the chapter's recommendation to keep PRs under 400 lines. The findings about reviewer attention and defect detection rates are directly applicable to reviewing AI-generated code.
Community Resources
13. Oh My Git! — An Open Source Game for Learning Git
URL: https://ohmygit.org/ Why read it/play it: An interactive game that teaches Git concepts through visualization and gameplay. Excellent for team members who learn better through doing than reading. Covers branching, merging, rebasing, and conflict resolution in an intuitive visual format.
14. Learn Git Branching
URL: https://learngitbranching.js.org/ Why read it: An interactive, visual tutorial that teaches Git branching and merging concepts through a series of challenges. The visual representation of the commit DAG makes abstract concepts concrete. Particularly useful for understanding rebase, cherry-pick, and interactive rebase.
15. Dangit, Git!?! by Katie Sylor-Miller
URL: https://dangitgit.com/ Why read it: A practical collection of solutions to common Git mistakes, written in plain language. Covers scenarios like "I committed to the wrong branch," "I need to undo a commit," and "Everything is broken and I want to start over." A valuable reference to bookmark for when things go wrong, which they will.
Recommended Reading Order
For readers who want to go deeper, we suggest this order:
- Start with Pro Git chapters 3 and 7 for Git fundamentals.
- Read the Conventional Commits specification and Chris Beams' commit message guide.
- Explore the Atlassian workflow comparison and choose a strategy.
- Study the pre-commit framework documentation and set up hooks.
- Read Accelerate for the research supporting these practices.
- Practice with Learn Git Branching and Oh My Git! for interactive learning.