Book Image

Version Control with Git and GitHub

By : Alex Magana, Joseph Muli
Book Image

Version Control with Git and GitHub

By: Alex Magana, Joseph Muli

Overview of this book

<p>Introduction to Git and GitHub begins with setting up and configuring Git on your computer along with creating a repository and using it for exercises throughout the book. With the help of multiple activities, you’ll learn concepts that show various stages of a file—from when it is untracked to when it is set for tracking under version control. As you make your way through the chapters, you’ll learn to navigate through the history of a repository, fetch and deliver code to GitHub, and undo code changes. </p><p> </p><p>The first half of the book ends with you learning to work with branches, storing and retrieving changes temporarily, and merging the desired changes into a repository. </p><p> </p><p>In the second half, you’ll learn about forking as part of a collaborative workflow. You’ll also address modularity and duplication through submodules, tracing and rectifying faulty changes, and maintaining repositories. </p><p> </p><p>By the end of this book, you will have learned how to effectively deploy applications using GitHub.</p>
Table of Contents (8 chapters)

Debugging and Maintenance

In the previous topic, we covered a number of concepts that are helpful in day-to-day version control operations. We have been able to rewrite history through rebasing, understand and implement a forking workflow, and make external contributions.

This topic presents a similar focus, except now we'll be looking more into ways that Git can handle root cause analysis and housekeeping operations.

At this point, you can now confidently collaborate on any public repository. That, however, is not all that is required. Developing involves more than just building, and the crucial part of this process is how to handle problems or put out fires. Git presents numerous ways of conducting root-cause analysis, and in this topic, we will cover this through the following commands:

  • git blame
  • git bisect
  • git reflog

Furthermore, we will learn about a number of best practices, including how to trigger and react to events such as commits through...