Reset a previous commit
Resetting a commit in Git allows you to fine-tune and adjust your commit history, providing the flexibility to remove or modify commits as needed. Whether you need to undo a commit, modify a previous commit, or discard unwanted changes, Git offers the git reset command to help you reset your commit history and maintain a clean and organized development timeline.
In this part of our tutorial, we will explore the process of resetting a commit in Git.
Go to the git-tutorial/tutorial3
directory you previously downloaded.
When you examine the history of this repository, it will look like the following:
We are going to undo the previous two commits using the git reset command.
First, open the sample.txt
file and verify that its content looks like the following:
Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
commit: Save the status of an index
pull: Obtain the content of the remote repository
Use the reset command to delete the previous two commits, as seen below.
$ git reset --hard HEAD~~
HEAD is now at 326fc9f append description of the add command
The sample.txt
file will no longer contain the last two lines (i.e., “commit: Save the status of an index” and “pull: Obtain the content of the remote repository”).
Verify that these commits are no longer in the history with the git log command.
$ git log
commit 326fc9f70d022afdd31b0072dbbae003783d77ed
Author: yourname <yourname@yourmail.com>
Date: Mon Jul 16 23:17:56 2022 +0900
append description of the add command
commit 48eec1ddf73a7fb508ef664efd6b3d873631742f
Author: yourname <yourname@yourmail.com>
Date: Mon Jul 16 23:16:14 2022 +0900
first commit
ORIG_HEAD
points to the original commit before reset takes place. This comes in handy when you accidentally issue a reset.
You can restore the previous history by executing a reset to ORIG_HEAD
.
$ git reset --hard ORIG_HEAD
HEAD is now at 0d4a808 append description of the pull command