For over a decade I've been teaching people how to use version control. My methods have changed over the years as I've learned (first hand) what is most effective for different types of learners, and under different conditions. I spent a year packing all of that thinking and learning into Git for Teams. This 350-page book is now available from O'Reilly, and better bookstores around the world.
The book is separated into three sections: planning your workflow; the commands you need to run to implement your workflow; and a quick-start guide to the three most popular code hosting systems (GitHub, Bitbucket, and GitLab).
Designed to be useful for teams of one or more, but with more direct applications for smaller teams, Git for Teams was written with you in mind. People working on larger teams will still find value in the book as large teams are typically made up of lots of small teams. The foreword, written by Mark Atwood (Director of Open Source at HP), provides reassurances that the workflows outlined in the book will be a useful jumping off point for teams of all sizes.
Early reviews of the book have been very positive:
This book is incredible in that it encompasses both the technical and social information necessary to use version control effectively. It's so important to understand good team practices before adding technology to the equation, and the guidance this book provides can help establish deliberate practices where chaos might otherwise reign.
Instead of throwing you into the deep end of memorizing commands and terms, Git for Teams walks you through the "why" of version control and how to work within a team, so that you approach the technology with understanding. It's not a cut-and-dry git reference book (it's not meant to be), but the material is laid out such that it can actually be used as one (the table of contents is really, really thorough). The technical material is really helpful for the beginner/intermediate level, but the content on working within a team is absolutely helpful (and necessary) for everyone.
Most importantly, the book makes almost no assumptions about prior knowledge, which is critical for teams where version control might be completely new or not well understood. (Yes, those places do exist!) There are tons of helpful diagrams to go along with the workflows and models, and some of the less-commonly understood topics are even covered, such as rebasing. Overall, I'd recommend this book as required reading for anyone developing software.Ben, Pittsburgh, O'Reilly.com review
The product description for this book is very accurate: it is a book focused on team workflows in software development, and it uses Git as an enabling technology. It provides a thorough overview of a lot of team and workflow concepts that aren't always emphasized in school, but are very important in industry. The author's style is quite conversational, making it a quick and easy read. This book is probably best for someone who is new to version control. It provides a good introduction and walk-through of how to use Git, but is clearly not intended to be a Git reference book--it focuses on team workflows.
My team switched to Git about a year ago, and it's been working well as a technical solution, but we've been lacking in consistency between how team members operate. This book did a good job of laying out several viable Git workflows, and I hope to be able to take what I've learned here to formalize our workflow.