【Git教程】04.回滚

大纲

恢复

恢复是咱们进行了修改,在没有进行commit以前,将文件恢复到最近一次commit的状态。
首先咱们的文件保持在最近一次commit以后,全勾的状态。
image.png
而后咱们进行修改
image.png
咱们遇到一些状况,好比:
一、有些重要的东西被删除了,且没法经过ctrl+z恢复。
二、需求已经变动,代码要先回到原来的版本。
三、编写的代码是错误的,但已经跟原文件差异过大,要恢复。
恢复方式
一、到线上仓库去复制以前版本的内容到本地,但有时咱们并无上传。
二、git提供的恢复功能。git

恢复功能Revert
项目目录右键 => TortoiseGit => Revert
image.png
选择要恢复的文件,点击OK。
image.png
恢复成功。
image.pnggithub

回滚

回滚是将当前的版本切换会历史的某个版本
使用场景
一、新版本爆发了很严重的bug,须要回滚到以前的稳定版本。
二、咱们要查看历史记录,了解以前的版本的状况。
操做
目录右键 => TortoiseGit => Show log
image.pngthis

日志页面
image.png
能够查询到该分支全部的提交状况。
每次提交都对应一个版本。使用SHA-1做为版本号。
标红的就是咱们当前所处的版本。spa

选择一个版本,右键 => Reset … to this
image.png3d

回滚页面
image.png
选择Hard模式。会将代码回滚到这个版本。
至于Soft和Mixed模式,并不会回滚代码,而只是把commit版本改回那个版本。日志

回滚成功。
image.pngcode

此时的代码就是当时那个版本的了。
这种回滚会将该版本以后的全部版本都删除
查看Show Log就是下面的状况。
image.pngblog

因此要回到最新的版本,须要从远程仓库拉取。
回滚后进行修改形成的冲突,与03_冲突所描述问题是一致的,直接搞定便可。ip

直接获取历史版本
选择 Export this version…,导出历史版本到zip文件。
image.png
image.pngget

练习

模拟恢复和回滚的操做。


github: https://github.com/lvancer/course_git

相关文章
相关标签/搜索