实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法: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 (版本号) |
这里可能会出现冲突,那么需要手动修改冲突的文件