Git Revert

Git Revert

Working with Git Branches

It is the command, which is used when a previous commit is taken and is added as a new commit, keeping the log intact.

Step 1: Find the previous commit:

git revert

Step 2: Use it to make a new commit:

Creating a new commit, where “accidentally” a file is deleted:

Example:

[user@localhost] $ git commit -m “Just a regular update, definitely no accidents here…”

[master 16a6f19] Just a regular update, definitely no accidents here…

1 file changed, 0 insertions(+), 0 deletions(-)

delete mode 100644 img_hello_git.jpg

Now we have a part in our commit history we want to go back to. Let’s try and do that with revert.

Git Revert Find Commit in Log

Firstly, we’ll find out the point where we want to return. To complete this task, we need to go through the log.

Instead of going through the long list, well be going to use the –oneline option, which gives just one line per commit showing:

  • The first seven characters of the commit hash.
  • the commit message.

Let’s search the point we want to revert:

Example

[user@localhost] $ git log –oneline

52418f7 (HEAD -> master) Just a regular update, definitely no accidents here…

9a9add8 (origin/master) Added .gitignore

81912ba Corrected spelling error

3fdaa5b Merge pull request #1 from webhostguru/update-readme

836e5bf (origin/update-readme, update-readme) Updated readme for GitHub Branches

daf4f7c (origin/html-skeleton, html-skeleton) Updated index.html with basic meta

facaeae (gh-page/master) Merge branch ‘master’ of https://github.com/webhostguru/hello-world

e7de78f Updated index.html. Resized image

5a04b6f Updated README.md with a line about focus

d29d69f Updated README.md with a line about GitHub

e0b6038 merged with hello-world-images after fixing conflicts

1f1584e added new image

dfa79db updated index.html with emergency fix

0312c55 Added image to Hello World

09f4acd Updated index.html with a new line

221ec6e First release of Hello World!

We want to revert to the previous commit: 52418f7 (HEAD -> master) Just a regular update, definitely no accidents here…, and it is seen as the latest commit.

Git Revert HEAD

The latest commit is reverted through git revert HEAD, adding the option –no-edit to skip the commit message editor.

Example

[user@localhost] $ git revert HEAD –no-edit

[master e56ba1f] Revert “Just a regular update, definitely no accidents here…”

 Date: Thu Apr 22 10:50:13 2021 +0200

 1 file changed, 0 insertions(+), 0 deletions(-)

 create mode 100644 img_hello_git.jpg

Check the log again:

[user@localhost] $ git log –oneline

e56ba1f (HEAD -> master) Revert “Just a regular update, definitely no accidents here…”

52418f7 Just a regular update, definitely no accidents here…

9a9add8 (origin/master) Added .gitignore

81912ba Corrected spelling error

3fdaa5b Merge pull request #1 from webhostguru/update-readme

836e5bf (origin/update-readme, update-readme) Updated readme for GitHub Branches

daf4f7c (origin/html-skeleton, html-skeleton) Updated index.html with basic meta

facaeae (gh-page/master) Merge branch ‘master’ of https://github.com/webhostguru/hello-world

e7de78f Updated index.html. Resized image

5a04b6f Updated README.md with a line about focus

d29d69f Updated README.md with a line about GitHub

e0b6038 merged with hello-world-images after fixing conflicts

1f1584e added new image

dfa79db updated index.html with emergency fix

0312c55 Added image to Hello World

09f4acd Updated index.html with a new line

221ec6e First release of Hello World!