GIT回退到指定版本的两种方法(reset/revert)

实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:reset、revert。

命令 特点
reset 该命令会强行覆盖当前版本和要回退的版本之间的其他版本(不太建议)
revert 再当前版本的基础上新增一个版本,不影响以前的代码

1.reset 的使用方法(会覆盖,不太建议)

玖涯

1.git log查看要回退的版本号

玖涯

2.使用 git reset –hard (目标版本号)命令将版本回退

1
git reset --hard (目标版本号)

玖涯

这样就是回退成功了!再通过git log查看记录,之前的333,444的提交记录都没了,都被覆盖了

玖涯

4.此时再推到远程仓库用git push 会报错,需要用git push -f强推上去才可以哦

git push -f origin master
注意,-f 或 –force 选项用于强制推送更改。如果您不使用此选项,则 git push 命令将失败,因为远程仓库中已经存在与本地分支不同的历史记录
玖涯

2.revert使用

玖涯

1.git log 查看版本号

2.git revert -n (版本号)

1
git revert -n (版本号)

这里可能会出现冲突,那么需要手动修改冲突的文件

3.然会就正常的提交流程就可以了,会生成一个新的版本在最新,不会影响到以前的版本