一.先在本地仓库回退到指定版本的代码
-
选中项目,右键依次点击【Git】——>【Show History】,如下图:
2. 查看提交到远程仓库的git记录,下图中为每次提交的git记录,回退到其中一个指定的即可,如下图:
3. 选择需要回退到的提交记录,在上述步骤的日志记录中鼠标右键点击指定记录【Reset Current Branch to Here…】,如下图:
4. 弹出的窗口选则择【Hard】,点击【Reset】,如下图:
选项注释:
Soft:回滚到指定版本,并保留所有更改,这些更改将被重新提交。使用这种模式,你可以撤销已经提交的更改,然后重新提交。 Mixed:回滚到指定版本,并保留所有更改,但是更改将不会被重新提交(文件进入到Unversioned Files中)。使用这种模式,你可以撤销已经提交的更改,并保留这些更改,以备后续修改和提交。 Hard:回滚到指定版本,并删除指定版本之后的所有更改。使用这种模式,你可以完全撤销指定版本之后的所有更改。 Keep:回滚到指定版本,但是保留指定版本之后的更改。使用这种模式,你可以撤销指定版本之后的更改,并保留这些更改,以备后续修改和提交。
注:到此处本地的代码仓库已经回退到指定的版本了,接下来再操作回退远程的
二、将远程仓库回退到指定版本的代码
-
选择上述步骤回退到的指定提交记录,鼠标右键选择【Copy Revision Number】,如下图所示:
2. 选中项目,鼠标右键选择【Git】——>【Reset HEAD…】,如下图所示:
3. 弹出的窗口中,Reset Type选择【Hard】,To Commit选项的值为第一步骤中【Copy Revision Number】的值,最后点击【Reset】,如下图:
4. 完成后向远程仓库再次推送代码即可(git日志中的记录仍然存在,但是远程库的代码已经回退到指定版本),如下图
选择force push做强制推送到远程仓库