undo/delete a commit on git

Posted Matong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了undo/delete a commit on git相关的知识,希望对你有一定的参考价值。

areful: git reset --hard WILL DELETE YOUR WORKING DIRECTORY CHANGES. Be sure to stash any local changes you want to keep before running this command.

Assuming you are sitting on that commit, then this command will wack it...

git reset --hard HEAD~1

The HEAD~1 means the commit before head.

Or, you could look at the output of git log, find the commit id of the commit you want to back up to, and then do this:

git reset --hard <sha1-commit-id>

If you already pushed it, you will need to do a force push to get rid of it...

git push origin HEAD --force

However, if others may have pulled it, then you would be better off starting a new branch. Because when they pull, it will just merge it into their work, and you will get it pushed back up again.

If you already pushed, it may be better to use git revert, to create a "mirror image" commit that will undo the changes. However, both commits will be in the log.


FYI -- git reset --hard HEAD is great if you want to get rid of WORK IN PROGRESS. It will reset you back to the most recent commit, and erase all the changes in your working tree and index.


Lastly, if you need to find a commit that you "deleted", it is typically present in git reflog unless you have garbage collected your repository.

以上是关于undo/delete a commit on git的主要内容,如果未能解决你的问题,请参考以下文章

mysql事务未commit

如何关闭postgreSQL的auto commit功能

如何在 Oracle 中定义一个触发器 ON COMMIT?

docker commit

解决上传到github报错Successfully created project 'autotest' on GitHub, but initial commit failed:(示

How do I get notifications for commits to a repository?