git 版本回退

Posted weixin_42412601

tags:

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

目录

已提交,没有push的情况,回滚

本地commit了一次,我想把它回滚,怎么做?

git status 查看本地有一个commit

git log获取commit版本号(q退出)

也可以使用这种方式获取需要回滚的版本号

回滚:

git reset --soft 撤销commit,但不会撤销add
git reset --mixed 撤销commit,也撤销add
git reset --soft 5a8978722ca3bc8d2225ccae7a1cce976b4cfccc


git status上也显示,无commit

已提交,并且push的情况,回滚

方式一: git reset

git reset --hard 撤销并舍弃指定的版本号之后的提交记录。使用需要谨慎。
注意:是版本号之后的所有提交记录,谨慎用!

例:test02已经push,我想回退到test01

PS D:\\project\\parent> git reset --hard fedadc2efcf639da22631c60ae706b8fad389ea1
HEAD is now at fedadc2 test01

然后需要push到远程分支,但是直接git push, 是会报错的,因为本地版本落后于远程,需要强制push

强制push(git push -f),然后查看本地和远程分支,test03都没了,版本回退到test02

这种强制提交,如果使用的是gitlab, 权限不是maintainer, 提交也会失败,需要找管理员提交。
注意:这种方式会把提交的代码直接舍弃,非常不建议使用!

idea上的快捷操作方式


然后再强制push

方式二: git revert

git revert 撤销。但是保留了提交记录。并且他是移除指定的提交。

获取需要回退的版本号,注意这里和上面的不一样,上面的是回退到之前的某一个版本,现在是撤销当前的版本

git revert 366f8c73e74ad43f892b30eefd0f1b9de1177e20,键盘i,进入编辑状态,改一下提交的名称,键盘Esc,冒号wq,回车,就ok了


然后再git push到远程分支,即可。
这种方式可以只回退某一个版本,并且回退之后,还会保留之前版本的记录。推荐

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

git回退到某个版本后发现最近提交的都不见了(解决方法)

git reset回退版本后怎么恢复到当前版本

git 如何让远程分支版本回退

GIt回版本回退

Git:版本创建与回退

git中的版本回退