Introduction
It is possible to correct mistakes made in Git with git pushcontext (without exposing them if the mistake is found before sharing or publishing the change). If the mistake has already been pushed, it is still possible to undo the changes made to the commit that introduced the mistake.
We will look at the reflog
command and how we can use that and git fsck
to recover lost information.
There is no git undocommand in core Git, one of the reasons being ambiguity on what needs to be undone, for example, and the last commit, the added file. If you want to undo the last commit, how should that be done? Should the changes introduced to the files by the commit be deleted? For instance, do you just roll back to the last known good commit, or should they be kept so that it could be changed for a better commit? Should the commit message simply be reworded? In this chapter, we'll explore the possibilities for undoing a commit in several ways, depending on what we want to achieve. We'll explore...