git reset --hard_Git紧急自救简易指南(二)——版本的游历

这一篇重点说说 Git版本的游历,想要在不同版本之间操作,这个就要涉及到git一个非常重要的部分——日志管理

查看历史记录

git log

此命令用来查看版本的历史记录

比如说我这里添加了5条记录

c2cd60262f2230c8e82ae81b31452b5c.png

由于历史记录比较多,一屏都显示不完,那么我们可以用

git log --pretty=oneline

以一行的形式,格式化显示日志

878a1917b907c84cda89ac6b1c0a5c25.png

这样看着就清爽多了

记不住pretty这么长的参数,还有个更简洁的命令

git log --oneline

这个命令更简洁一些,当然显示也就更简洁一些,它只会显示部分hash值

6d7bdabab888f7d0134a1627f5302289.png

日志相关的还有个重要的命令需要记一下

git reflog

这个命令显示出了head指针的变化

24046bb43118b4ff1731070d46550a9e.png

关于提交日志,还有一些小细节的东西

比如说查看每次提交都改了哪些文件,每个文件都改了哪些内容

又或者说专门查看某个文件被改了多少次,每次又改了哪些内容

这些我觉得在命令行里查看太不友好了,这些就交给SVN公司出的git工具来做吧,简单愉快。


下面要说就是版本的游历,版本前进和后退的本质就是移动head指针的位置。

版本后退

git reset --hard hash值

比如说我们添加想添加1,2,3,4,5了,我们要把这些改动都撤回来,那么我们只需要

git reset --hard b3dd686,此时我们的文件就还原成最原来的模样了。

5a29a2a08b431a2182dc938cf64b7706.png

head指针也指回第一项了

14cdb7c9bb40a0a8d05070bb1a3259ab.png

版本前进

git reset --hard hash值

既然可以后退,当然还可以前进,版本的前进还是这个命令,带上相应的hash值

git reset --hard 3eae1f6,我们的文件又回来啦。

746137417d3ae483f824cc726e6f8eb7.png

再偷偷的瞄一眼head指针,发现指针也指回来了

1471301e0154c81e07b9a978354a920b.png

reset参数

git reset这个命令就介绍到这儿了,简而来说reset就是重置,也就是把版本重置到任何时期。

细心的同学注意到了,我们一般都带上head参数,那hard参数是啥呢?

--hard

1)在代码库中移动head指针

2)重置暂存区

3)重置工作区

--mixed

1)在代码库中移动head指针

2)重置暂存区

--soft

1)在代码库中移动head指针

PS:

--hard参数也是我们最常用的参数

看完了上面的介绍,那么大家也可以理解了git中一个非常常用的命令:

git reset --hard HEAD

这个命令的作用就是把版本回退到HEAD指针指向的版本(绝大多数情况下呢,HEAD指针指向的是当前版本库的最新内容)。

PPS:

git reset --hard HEAD^

这个命令大家也可能用到,一个异或符号表示回到上一次提交,两个异或符号表示回到上两次提交。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值