Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Going back to a previous commit in Github Desktop

I am trying to use GitHub Desktop (i.e. the GUI application - NOT command line) to go back to a previous commit (on the same branch). Something that I would have thought is a core feature, since it's the primary reason for using source control in the first place.

I can see that it's possible to revert a commit, but this is not really what I want as it creates a new commit. I would just simply like to go back with the option of going forward again, in the same way that I can just hop to a different branch.

Is this possible or is it a limitation of github desktop and I need to use the cmd line for that?

like image 999
morishuz Avatar asked Jan 14 '16 13:01

morishuz


People also ask

How do you go back to the previous commit in git?

To view the previous commits, use the git log –-oneline command. This provides the commit details.

Can you undo a commit in GitHub?

Undoing a Commit (That Has Not Been Pushed) To undo a commit that has not been pushed to a remote repository, use the reset command. Note that the reset command should be used if the commits only exist locally. If not, use the revert command, that way the history of undoing your commit is preserved.


2 Answers

In general, you can go back to a commit in your history with git reset.


This is not possible with GitHub Desktop. GitHub Desktop is more of a tool to synchronize your repositories and not a full featured GUI client.
But that doesn't mean you have to use the command line, since there are alternatives. You can find a list here. To mention a few (that support git reset):

  • TortoiseGit (Windows)
  • SourceTree (Mac, Windows)

Here is how you do it on command line. Most clients provide this in their UI using the same vocabulary (usually, you are able to select a commit and reset to it via context menu).

You will go back to the previous commit with

git reset HEAD^ 

or some more commits (for example 3) by

git reset HEAD^3 

or to a specific commit by

git reset f7823ab 

Have in mind that, by default, the option --mixed is passed to git reset. So, all changes made, since that commit you reset to, will still be there.

To get the original state of the commit that you want to 'revert', you have to pass --hard. For example:

git reset f7823ab --hard 
like image 122
SevenEleven Avatar answered Sep 27 '22 19:09

SevenEleven


If you have a commit that you have not pushed, it is easy to undo the commit. The "undo" button appears when you have such a commit. It removes the commit from the branch's history and places the files back into the Changes area.

Undo button below commit button

like image 28
Amy B Avatar answered Sep 27 '22 19:09

Amy B