共计 765 个字符,预计需要花费 2 分钟才能阅读完成。
大纲
- 恢复
- 回滚
- 练习
恢复
恢复 是我们进行了修改,在 没有进行 commit 之前
,将文件恢复到 最近一次 commit
的状态。
首先我们的文件保持在最近一次 commit 之后,全勾的状态。
然后我们进行修改
我们遇到一些情况,比如:
1、有些重要的东西 被删除
了,且无法通过 ctrl+ z 恢复。
2、需求已经 变更
,代码要先回到原来的版本。
3、编写的代码是 错误
的,但已经跟原文件差别过大,要恢复。
恢复方式:
1、到线上仓库去复制之前版本的内容到本地,但有时我们并没有上传。
2、git 提供的恢复功能。
恢复功能 :Revert
。
项目目录 右键
=> TortoiseGit
=> Revert
。
选择要恢复的文件,点击 OK。
恢复成功。
回滚
回滚 是将当前的版本切换会 历史
的某个 版本
。
使用场景
1、新版本爆发了很严重的 bug,需要回滚到之前的稳定版本。
2、我们要查看历史记录,了解之前的版本的情况。
操作 :
目录 右键
=> TortoiseGit
=> Show log
日志页面 :
可以查询到该分支所有的提交情况。
每次提交都对应一个版本。使用 SHA- 1 作为版本号。
标红的就是我们当前所处的版本。
选择一个版本,右键
=> Reset … to this
。
回滚页面 :
选择 Hard 模式
。会将代码回滚到这个版本。
至于 Soft 和 Mixed 模式,并不会回滚代码,而只是把 commit 版本改回那个版本。
回滚成功。
此时的代码就是当时那个版本的了。
这种回滚会将该版本之后的所有版本都 删除
。
查看 Show Log 就是下面的情况。
所以要回到最新的版本,需要从远程仓库拉取。
回滚后进行修改造成的 冲突
,与 03_冲突所描述问题是一致的,直接搞定即可。
直接获取历史版本 :
选择 Export this version…
,导出历史版本到 zip 文件。
练习
模拟恢复和回滚的操作。
github: https://github.com/lvancer/course_git