Need to go back to prev commit in git,How?

git checkout previous commit
git revert to previous commit and push
git go back to previous commit
git go back to previous commit and push
git move head to previous commit
git revert merge commit
git revert file to previous commit
git undo last commit keep changes

I have modified my source directory by deleting certain files and done a commit. And I did a push origin master to remote host, github.

Now I came to know that I need those files for proper functioning. Now I need a way to go back my prev commit and then push to my remote host.

Is it possible to do so? I'm very new to git, I'm confused with it.

Thanks in advance.

git revert creates a new commit that undoes one or more previous commits. This is usually the best way to undo commits that have already been pushed.

For example, this command would revert everything from the commit abc1234 up to and including the latest commit (HEAD):

git revert abc1234..HEAD

You could also use git reset, but this command changes history and would cause problems for anyone else who is using the repository. In general you should only use this command if you want to discard changes that haven't been pushed (and that you're sure you won't want to come back to in future).

How do I revert a Git repository to a previous commit?, Unfortunately git doesn't have an undo command, however you can undo this quite easily using git reset. If you want to add some files or edit the  git revert creates a new commit that undoes one or more previous commits. This is usually the best way to undo commits that have already been pushed. For example, this command would revert everything from the commit abc1234 up to and including the latest commit (HEAD): git revert abc1234..HEAD

Since you've already pushed, I would recommend against Nikhil's solution and recommend that you do a "git revert" on your latest commit like so git revert HEAD and then push. The revert command will create a new commit that undoes the effect the specified commit and adds it to your repository.

Git: Revert to a Previous Commit, If you want to go back to a previous commit, while keeping all of your other history​, simply checkout that commit. Copy. git checkout <sha-1 of that commit>. If you want to get rid of the commit, while keeping the changes to your files, use git reset with HEAD~ to indicate the previous commit or a commit hash to go back to a specific commit: git reset HEAD~. This will perform a reset of the git index (but not the changes themselves).

Try on of these,

git reset --hard SHAsumOfYourCommit
git reset --hard HEAD [your current head point]
git reset --hard HEAD^ [your previous head point]
OR you can Delete the last commit

Let’s say we have a remote myrepo with branch master that currently points to commit dd61ab32, you can remove the last commit byusing the command.

git push myrepo +dd61ab32^:master

Version Control with Git: Exploring History, Here we have a representation of a series of commits in Git. A branch in Git is simply a named, movable pointer to a specific commit. In this case,  Using the --hard option, everything is reverted back to the specified commit. This includes the commit history reference pointers, the staging index, and your working directory. This means that by using just this command you'll not only revert to a previous commit, but you'll lose all working changes in the process.

What's up friends, look, I was trying so hard, I even discovered a way, it works for me :)

git reset --hard commitId //delete your local commits
git push -f origin yourOrigin //delete your github remotes commits

I hope help you.

How to go back to a previous commit in git, Returning to an Old Revision. The fastest way to restore an old version is to use the "reset" command: $ git reset --hard 0ad5a7a6. This will rewind your HEAD  If we let’s say run a git reset --hard HEAD~1, then that means we are rolling back to the previous commit before the current commit. If you still haven’t understood about the relative reference

Git: Temporarily revert to previous commit, We should use git reset only on local repository. If you want to maintain the history of commit Duration: 2:19 Posted: Aug 3, 2018 git reset --hard HEAD~ git push --force That will force the local and remote history to discard the latest commit. (Check first with a git fetch that no new commits had been pushed since your incorrect commit)

How to reset, revert, and return to previous states in Git , You can revert a specific commit to remove its changes from your branch. Right​-click the commit you want to revert and click Revert This Commit. The Revert  Simple—we can just move the branch pointer. Git supplies the reset command to do this for us. For example, if we want to reset master to point to the commit two back from the current commit, we could use either of the following methods: $ git reset 9ef9173 (using an absolute commit SHA1 value 9ef9173) or.

How can I restore a previous version of my project?, In these scenarios, git revert should be the preferred undo method. Undoing the last commit. In the previous section, we discussed different strategies for undoing​  git checkout <commit_id> git checkout -b <new branch> <commit_id> git checkout HEAD~X // x is the number of commits t go back This will checkout new branch pointing to the desired commit. This command will checkout to a given commit. At this point, you can create a branch and start to work from this point on. # Checkout a given commit.

Comments
  • when I do git revert HEAD. I get an error : error: Your local changes would be overwritten by revert. hint: Commit your changes or stash them to proceed. fatal: revert failed
  • @batman This means that the files on disk don't match the files on your head commit. Git's protecting you from confusing the changes you've already made with the changes the revert will make. I'd recommend using git diff to look at the changes. If those changes are important, use git stash, then git revert HEAD will succeed, then git stash pop to re-apply the important changes. If those changes are unimportant, and you're really fine with losing them, you can use git reset --hard to go back to the head commit, as described here.
  • Ahhhh!!!! Its again throwing different errors. Let me put this way. I need to go back to commit b9cb7fd3b2fcab5246b85a2437f154e38f9e38a3 and loose all the changes done after that commit. After that I need to push to remote!
  • Look at the manual page for git revert. That gives you information on how to revert a list of changes.
  • All these three commands modify history. When you push them, you'll get a merge conflict. You can force a push but if there are other people who have already pulled, it's going to be a pain.
  • I'm not sure your push command will work since that commit is already there on the remote.
  • Yes it will work. git push myrepo +dd61ab32^:master for this command, it will First reset the branch to the parent of the current commit, then force-push it to the remote. We can also write it like this git reset HEAD^ --hard git push myrepo -f