Book Image

Git Essentials - Second Edition

By : Ferdinando Santacroce
Book Image

Git Essentials - Second Edition

By: Ferdinando Santacroce

Overview of this book

Since its inception, Git has attracted skilled developers due to its robust, powerful, and reliable features. Its incredibly fast branching ability transformed a piece of code from a niche tool for Linux Kernel developers into a mainstream distributed versioning system. Like most powerful tools, Git can be hard to approach since it has a lot of commands, subcommands, and options that easily confuse newcomers. The 2nd edition of this very successful book will help you overcome this fear and become adept in all the basic tasks in Git. Building upon the success of the first book, we start with a brief step-by-step installation guide; after this, you'll delve into the essentials of Git. For those of you who have bought the first edition, this time we go into internals in far greater depth, talking less about theory and using much more practical examples. The book serves as a primer for topics to follow, such as branching and merging, creating and managing a GitHub personal repository, and fork and pull requests. You’ll then learn the art of cherry-picking, taking only the commits you want, followed by Git blame. Finally, we'll see how to interoperate with a Subversion server, covering the concepts and commands needed to convert an SVN repository into a Git repository. To conclude, this is a collection of resources, links, and appendices to satisfy even the most curious.
Table of Contents (8 chapters)

Preface

If you are reading this book, you are probably a software developer and a professional. What makes a professional a good one? His culture and his experience, sure, but there’s more--a good professional is one who masters different tools, can choose the best tool for the job, and has the necessary discipline to develop good working habits.

Version control is one of the base skills for developers, and Git is one of the right tools for the job. However, Git is not a screwdriver, a simple tool with only a base function; Git provides a complete toolbox for managing your own code, within which there are also sharp tools that should be handled with caution.

The ultimate aim of this book is to help readers start using Git and its commands in the safest way, getting things done without injuries. Having said this, you will not get the most from Git commands if you do not acquire the right habits; as with other tools, in the end, it is the craftsman who makes the difference.

This is a book to be read in front of a computer; compared with the first edition, there are many more commands, examples, and exercises to test; in the first four chapters, we will learn by doing.

The book will cover all the basic Git topics, allowing readers to start using it even if they have little or no experience with versioning systems; they only need to know about versioning in general, so reading the related Wikipedia page will be sufficient.