Preface
Git is the most popular open source and distributed version-control system. Version-control systems help software teams manage changes to project sources over time. Using version control is a must in any collaborative development, and it’s useful even if you work alone.
Mastering Git will help novice Git professionals attain expert-level proficiency with Git, as well as understand Git concepts and the mental model behind basic and advanced Git tasks. Developers working with Git will be able to use its powerful capabilities to make their work easier. Mastering Git will help in various tasks during development, saving time and effort.
This book is meticulously designed to help you gain deeper insights into Git’s architecture and its underlying concepts, behavior, and best practices.
You’ll begin with a quick example of using Git for the collaborative development of a sample project, in order to establish a basic knowledge of Git’s operational tasks and concepts. As you progress through the book, subsequent chapters provide detailed descriptions of the various areas of Git use – from managing your own work, through source code archaeology, to working with other developers. You’ll learn how to examine and explore your project’s history, create and manage your contributions, set up repositories and branches for collaboration in centralized and distributed workflows, integrate work sent from other developers, customize and extend Git, and recover from repository errors.
Version control topics are accompanied by detailed descriptions of the relevant parts of Git’s architecture and behavior. By exploring advanced Git practices and getting to know the details of Git’s workings, you will attain a deeper understanding of its behavior, allowing you to customize and extend existing recipes and write your own.