Summary Learn Git in a Month of Lunches introduces the discipline of source code control using Git. Whether you're a newbie or a busy pro moving your source control to Git, you'll appreciate how this book concentrates on the components of Git you'll use every day. In easy-to-follow lessons designed to take an hour or less, you'll dig into Git's distributed collaboration model, along with core concepts like committing, branching, and merging. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Book Git is the source code control system preferred by modern development teams. Its decentralized architecture and lightning-fast branching let you concentrate on your code instead of tedious version control tasks. At first, Git may seem like a sprawling beast. Fortunately, to get started you just need to master a few essential techniques. Read on! Learn Git in a Month of Lunches introduces the discipline of source code control using Git. Helpful for both newbies who have never used source control and busy pros, this book concentrates on the components of Git you'll use every day. In easy-to-follow lessons that take an hour or less, you'll dig into Git's distributed collaboration model, along with core concepts like committing, branching, and merging. This book is a road map to the commands and processes you need to be instantly productive. What's Inside About the Reader No previous experience with Git or other source control systems is required. About the Author Rick Umali uses Git daily as a developer and is a skilled consultant, trainer, and speaker. Table of Contents
This is an excellent book for learning Git. It covers the fundamentals, including Git setup, file tracking and updates, navigation within and across branches, managing divergent and convergent codebases, and working with remote repositories. Additionally, it delves into advanced concepts like rebasing, cherry-picking, and two popular workflows: Git Flow and GitHub Flow.
The book takes a hands-on approach with clear illustrations, presenting common and sticky situations and explaining how to resolve them. However, its heavy focus on Git's built-in GUI tools rather than modern third-party platforms like GitHub might not appeal to everyone. Furthermore, certain concepts are explored in excessive detail, which could make some readers lose interest.
Despite these minor drawbacks, I highly recommend this book for beginners looking to build a strong foundation in Git.
Overall this is a pretty good book and one that you will learn something from if you read. There is one substantial problem however: when doing the labs, it's pretty easy to have the repo being worked on in a state that has fallen out of step with where the author was when he wrote it. This then hinders the single most important takeaway that any such book should offer: learning by doing. The book might have nearly been perfect if all the exercises proceeded from a repo in a default state created by one of the scripts included with it.
If you have to learn Git then this is a really good way to go. Easy enough to digest, with Umali's explanations/tutorials providing a very strong set of exercises that should (hopefully) help with understanding of even the more confounding aspects (to me) of Git.