关于git的撤销

Posted friedcoder

tags:

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

关于git的撤销


撤销add

git add demo1
#撤销对demo1的git add 操作,并且该文件不会被删除
git reset HEAD demo1

撤销commit

根据commitId进行撤销

#查看commitID
git log
git reset --hard commitId

#返回到上个版本
git reset --hard HEAD^

#返回到n个版本,n为正整数
git reset --hard HEAD~n

commit的撤销都伴随本地文件的直接删除

误删后,想要恢复本地文件,关键是找到原来的commitID,再使用git reset --hard commitId

git reflog 会记录关于commit的操作,包括commit, reset, checkout等操作,还会记录下当时的commitId。

reset等操作丢失一个提交的时候,你总是可以把它找回来。除非你的操作已经被git当做垃圾处理掉了,一般是30天以后。

甚至可以通过这个方法将rm的文件给恢复

更多可以参考:https://www.cnblogs.com/hope-markup/p/6683522.html

以上是关于关于git的撤销的主要内容,如果未能解决你的问题,请参考以下文章

如何在git里撤销任何操作

git 如何撤销已push的代码

git撤销commit,但未git push的命令

使用git时如何撤销改动的代码?针对不同场景总结

使用git时如何撤销改动的代码?针对不用场景总结

Git 的 4 个阶段的撤销更改