A series of practical recipes to simplify the Git learning experience and increase your productivity when using Git version control
Explore practical recipes to use Git's most advanced features
Learn how Git references its objects and how history is recorded
Use reflog and git fsck to recover lost information
Git is one of the most popular tools for versioning. Git Version Control Cookbook builds on the success of the previous edition and provides you with an up-to-date guide to solving problems related to versioning.
You'll start by learning about the Git data model and how it stores files and looks at commits. By using simple commands, you'll learn how to navigate through the database. Once you have accustomed yourself to the basics, you'll explore techniques to configure Git with comprehensive examples and configuration targets. You'll gain insights into improving your understanding of branches and recovery from mistakes — right from committing to a wrong branch to recovering lost commits or files. You'll then move on to discovering the features that Git rebase has to offer and use regular Git merge on other branches. You'll explore Git notes and learn how to utilize the update, list, and search commands. In addition to this, you'll learn how to extract metadata from repositories and automate your daily tasks using Git hooks. You'll then study in detail repository maintenance, patching, and offline sharing. By the end of the book, you'll have grasped various tips and tricks for everyday usage, while increasing your knowledge of Git providers, integrations, and clients.
What you will learn
Understand the Git data model and use commands to navigate the database
Find out how you can recover lost commits or files
Force a rebase on some branches and use regular Git to merge on the rest
Master the techniques required to extract metadata from repositories
Explore Git notes and learn about the various features that it offers
See how to decode different subcommands
Who this book is for
The Git Version Control Cookbook is for you if you are a developer or Build Release manager looking for a full-fledged practical guide that will take your Git knowledge to the next level. Basic knowledge of GNU tools and shell or bash scripting is needed.