having to use version control because they felt it got in the way of doing work. But it
also made it easier because they never accidentally overwrote their classmates’ work.
It taught me a lot about how to motivate people to use a tool that didn’t feel like it was
core to the job at hand.
In the decade since that class, I’ve learned a lot about how to teach version control,
and a lot about best practices in adult education. This book is the culmination of what
I’ve learned about how to work efficiently with others when using version control. I
encourage you throughout the book to do whatever is best for your team. There are
no Git police who will show up at your door and tell you “you’re doing it wrong.”
That said, wherever I can, I explain to you “the Git way” of doing things so that you
have some guidance on where you might want to start with your team, or what you
might want to grow into. Using “common” ways of working will help you onboard
others who’ve previously used similar techniques.
This book won’t be for everyone. This book is for people who love to plan a route,
and then follow the clearly defined road ahead. My hope is that, if nothing else, this
book helps to fill the gaps that have been missing in Git resources to date. It’s not so
much a manual for the software as a manual for how teams collaborate. If your team
of one (or more) finds bits of this book confusing, I hope you’ll let me know
(emma@gitforteams.com); and if you find it useful, I hope you’ll let the world know.
Acknowledgments
Several years ago, in a little bar off the side of a graveyard in Prague, Carl Wiedemann
indulged my questions about Git. Thank you, Carl. Your enthusiasm motivated me to
convert my frustration with Git into resources to help others avoid the painful pro‐
cess I’d experienced when learning Git.
I had the wonderful fortune to work with Joe Shindelar at my first job-job after a dec‐
ade of self-employment. Joe, your passion for excellence has raised the bar for my
own work. I am grateful for your patience and leadership. This book was born out of
the conversations we had about leadership, team structures, and the Git documenta‐
tion we created for the Drupalize.Me team. Thank you.
O’Reilly found the excellent Christophe Portneuve to serve as one of my tech review‐
ers. Christophe, thank you for your patience as I worked through the first few chap‐
ters. Your feedback was invaluable. I am grateful for the conversation we had at Git
Merge, which helped me to clarify the concepts I use in this book—I had lofty goals
of transforming the way people learn Git. I hope this book has become a resource you
will be proud to have been a part of.
Bernie Monette, Martin Poole, Drew McLelland: you gave me a platform to refine my
understanding of version control through your own projects.
xvi | Preface