Book Image

Git for Programmers

By : Jesse Liberty
Book Image

Git for Programmers

By: Jesse Liberty

Overview of this book

Whether you’re looking for a book to deepen your understanding of Git or a refresher, this book is the ultimate guide to Git. Git for Programmers comprehensively equips you with actionable insights on advanced Git concepts in an engaging and straightforward way. As you progress through the chapters, you’ll gain expertise (and confidence) on Git with lots of practical use cases. After a quick refresher on git history and installation, you’ll dive straight into the creation and cloning of your repository. You’ll explore Git places, branching, and GUIs to get familiar with the fundamentals. Then you’ll learn how to handle merge conflicts, rebase, amend, interactive rebase, and use the log, as well as explore important Git commands for managing your repository. The troubleshooting part of this Git book will include detailed instructions on how to bisect, blame, and several other problem handling techniques that will complete your newly acquired Git arsenal. By the end of this book, you’ll be using Git with confidence. Saving, sharing, managing files as well as undoing mistakes and basically rewriting history will be a breeze.
Table of Contents (16 chapters)
11
Finding a Broken Commit: Bisect and Blame
13
Next Steps
14
Other Books You May Enjoy
15
Index

Fixing Mistakes

The most common reaction to making a mistake in Git is to panic. What if you have just lost all your work? Worse, what if you have broken the master branch?

This chapter will review a number of common Git mistakes and how to fix them. The first rule, of course, is stay calm, or as Douglas Adams said, Don't Panic!

The problems we'll review are:

  • You wrote the wrong message in a commit.
  • You forgot to add changed files from your last commit.
  • Problems with the order of commits or their messages.
  • You need to undo changes made in a commit.
  • You misnamed your branch.
  • You committed to the wrong branch.
  • You trashed a file in a previous commit.
  • You messed up the remote by pushing a broken branch.

To see the answers at work, let's mirror Panofy into ErrorsDemo. Here are the steps we'll be doing:

  1. On the remote, create ErrorsDemo and get its URL.
  2. Go to the local branch you want...