前言:我们都知道,git可以为我们每次提交的代码保存进度。那么当我们不小心进行了错误的代码提交之后,如何回退到之前的版本呢?
一、前置知识
首先,我们必须要清楚,每一次提交代码时,都会提交一次commit,git会为每一次的提交都计算出一个对应的commit id(它是一个40位的16进制数字),通过这个commit id,我们就能识别出每一次提交从而进行版本的回退。
二、在本地进行版本回退
如果在本地进行了错误的提交,可以采用以下指令进行版本回退
1、找到需要回退版本的commit id
git log
然后命令行会出现所有之前提交过的版本信息(按提交时间由近到远排序),信息包括commit id,提交作者,提交日期,提交的备注,根据备注找到对应commit id并复制下来即可。
![](https://img.haomeiwen.com/i12953191/f6cd11d3deeeb661.png)
2、输入以下指令回退到指定版本,这里假设要回退的commit id为a4cd1d8472b506349697e7b89596152c8d6ca31c
git reset --hard a4cd1d8472b506349697e7b89596152c8d6ca31c
这样,本地的代码就回退成功了!
三、在远程分支进行版本回退
如果错误的分支已经提交到远程仓库了,前面的步骤和上述基本一样,只是在最后需要将代码强制推送到远程分支。
1、查看并获取commit id
git log
2、回退本地版本
git reset --hard 'xxx' //xxx是要回退版本的commit id
3、将回退的本地分支强制推送到远程仓库
git push -f origin master //master为默认主分支,也可以提交到其它分支上
网友评论