Git中的各种后悔药

来源:互联网 发布:ppt数据图表模板 编辑:程序博客网 时间:2024/05/06 17:56

Git强大的撤销、版本回退功能,让我们在开发的过程中能够随意的回到任何一个时间点的状态,本文我们就来看看Git中的各种后悔药!

本文是Git系列的第三篇,了解前面的文章有助于更好的理解本文:


1.Git概述
2.Git基本操作


本文将从如下三个方面介绍Git中的后悔药:

1.工作区的代码想撤销
2.add到暂存区的代码想撤销
3.提交到本地仓库的代码想撤销

提交到远程仓库的后悔药我们统一都在关联远程仓库一文中讲解,敬请期待。

工作区的代码想撤销

可能有一天我正在写代码,写了很久发现写错了,想恢复到一开始的状态,一个笨办法就是把刚刚写的代码一行一行的删除,不过这种方式成本太高,我们可以通过git checkout -- <file>命令来撤销工作区的代码修改。如下图:

这里写图片描述

首先我们执行了git status命令,发现工作区是干净的,然后执行了cat命令,发现文件只有两行内容,然后通过vi编辑器向文件中添加一行,保存并退出,退出来之后又执行了git status命令,此时工作区的状态已经发生变化,然后我们执行了git checkout – git01.txt命令,表示撤销之前的操作,让git01.txt恢复到之前的状态,该命令执行成功之后,我们再执行cat命令发现文件内容已经恢复了,此时再执行git status,状态也恢复了。

add到暂存区的代码想撤销

如果想要撤销,但是代码已经提交到暂存区了,不用担心,也能撤销,分两个步骤:

1.将暂存区的代码撤销到工作区
2.将工作区的代码撤销(具体操作和’工作区的代码想撤销’一致)

将暂存区的代码撤销,我们可以使用git reset HEAD命令来实现。如下图:

这里写图片描述

这里的代码都比较简单,核心的过程就是先执行git reset HEAD命令,从暂存区撤销,剩下的操作参考’工作区的代码想撤销’一节。

提交到本地仓库的代码想撤销

同样的,提交到本地仓库的代码一样也可以撤销,我们可以利用git reset --hard <版本号>命令来实现版本回退,该命令中的版本号有几种不同的写法:

1.可以使用HEAD^来描述版本,一个^表示前一个版本,两个^^表示前两个版本,以此类推。
2.也可以使用数字来代替^,比如说前100个版本可以写作HEAD~100。
3.也可以直接写版本号,表示跳转到某一个版本处。我们每次提交成功后,都会生成一个哈希码作为版本号,所以这里我们也可以直接填版本号,哈希码很长,但是我们不用全部输入,只需要输入前面几个字符即可,就能识别出来。

看下面一系列的操作:
1.通过git log查看当前提交日志:

这里写图片描述

2.通过git reset HEAD^^向前回退两个版本:

这里写图片描述

3.查看日志,发现最后一次提交的版本号是695ce1fe,利用git reset –hard 695ce1fe命令回到回退之前的状态:

这里写图片描述

4.通过git reset –hard HEAD~1回到上一个版本:

这里写图片描述

好了,Git中的后悔药我们就先介绍到这里,有问题欢迎留言讨论。

参考资料:

1.《GitHub入门与实践》
2.《Pro Git》

更多JavaEE和Git资料请关注公众号:

这里写图片描述

阅读全文
'); })();
2 1
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 建行电子银行 中国建行银行 个人建行网上银行登录入口 中国建行网上银行登录 建行网银登录 建行网上银行登录入口 建行个人网上银行登录口 建行私人银行 建行定存利率 建行办卡多少钱 建行三年定期利率 建行 手机银行 建行vip卡办理条件 建行余额查询 建行开户多少钱 今日建行纸黄金价格 建行基金怎么买 建行基金定投 建行贷款手续 建行黄金价格走势图 建行办卡流程 建行黄金投资 建行星期六上班吗 建行的手机银行 如何开通建行手机银行 下载建设手机银行 中国建设 jiansheyinhang 电子银行 建设网上银行 jianhang 中国建设银 中国建设个人网上银行登录 建设手机银行 中国建设网上银行 95533网上银行 中国建没银行 95533 建设电子银行 建设网银登陆页面 个人网银登录