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

查看历史记录

git log

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

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

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

git log --pretty=oneline

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

这样看着就清爽多了

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

git log --oneline

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

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

git reflog

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

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

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

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

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


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

版本后退

git reset --hard hash值

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

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

head指针也指回第一项了

版本前进

git reset --hard hash值

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

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

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

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^

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

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

  1. Git使用 从入门到入土 收藏吃灰系列 (九) git reset 移除暂存区与版本回退

    文章目录 一.前言 二.Git远程命令实践 2.1git reset 移除暂存区 2.2 git log+git reflog+git reset 版本回退 一.前言 参考安装Git 详细安装教程 参 ...

  2. git checkout和git reset的一些区别以及配置git简写命令

    一.背景 在调试代码的时候,每次都要通过git上传到服务器调试,实在是一件很麻烦的事情.所以对于一些微小的改动,我就直接在服务器上修改.等调试成功之后,用git reset再回退到之前的版本,后来经过 ...

  3. git reset后本地拉取_Git学习笔记

    git工作区和本地仓库 创建本地版本库 mkdir learnGitcd learnGitgit init 添加到暂存区 touch learn.mdopen learn.mdgit add lear ...

  4. Git使用命令行回退版本git reset --hard

    git log--oneline --oneline 标记的作用是把每一个提交信息压缩为一行.默认情况下只会展示提交 ID与提交信息的首行.git log --oneline的结果如下 方法一: gi ...

  5. git reset --hard、git reset --sort及git revert区别

    一. 在git操作中,有时候,进行了错误的提交,但是还没有push到远程分支,想要撤销本次提交,可以使用git reset –-soft/hard命令. 1.二者区别: git reset –-sof ...

  6. git reset用法

    git 删除 错误 提交的 commit 方法:          根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:     git reset ...

  7. git reset --hanrd撤回_一篇文章,全面掌握Git

    版本控制 版本控制就是记录项目文件的历史变化.它为我们查阅日志,回退,协作等方面提供了有力的帮助. 版本控制一般分为集中化版本控制和分布式版本控制. 集中化主要的版本数据都保存服务端. 分布式版本数据 ...

  8. 【Git】Git-常用命令备忘录(二)

    开发过程中,各种问题都会出现,比如手残,眼花,头昏,导致了误操作,那么git作为一款由Linus亲自操刀,替换掉BitMover公司的BitKeeper的优秀源代码管理工具,让您在各种乱七八糟的误操作 ...

  9. git reset --hard命令小结

    参考 git 删除 错误 提交的 commit 方法:      根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:     git reset - ...

最新文章

  1. three.js(六) 地形法向量生成
  2. hibernate笔记
  3. python pptx 从中间加几页_python-pptx---插入表格
  4. 双轴机械臂中的闭环步进电机平顺控制算法: 42HS48EIS,57HS
  5. 计算机考研学长学什么,研究生学长浅谈考研心得
  6. matlab程序设计实践,MATLAB程序设计实践(第二题)
  7. [转载] 黑马程序员_学习笔记8_C#基础归纳之数组
  8. leetcode - 121.买卖股票的最佳时机
  9. 绩效考核中什么是KPI和KRA
  10. select,poll,epoll区别
  11. 如何在一台没有网的电脑上安装anaconda_简述验证Anaconda是否安装成功的两种方式...
  12. 【 Hibernate3-摘要 】 【 第1节 】:JPA常用注解
  13. Java开发工程师,每个阶段需要掌握什么重点?
  14. Flutter 扩展NestedScrollView (二)列表滚动同步解决
  15. 代码设定的按钮与storyboard中的xib页面间的跳转
  16. Inceptor如何访问本地文件
  17. 机器视觉Halcon教程(1.介绍)
  18. android免root hook框架legend
  19. 一台服务器可以干什么
  20. G711(PCM/PCMA/PCMU),G721,G723,G729等 音频编解码

热门文章

  1. jpush推送格式 swift_Swift中配置极光推送
  2. python 过滤相似图片_求教 python 网站爬虫过滤出图片 url 的问题
  3. 7z解压crc错误_winrar压缩包提示crc校验和错误,文件被破坏的解决办法
  4. mysql数据库localhost已断开_完美解决MySQL通过localhost无法连接数据库的问题
  5. 「第一篇」大学生电子设计竞赛,等你来提问。
  6. html给文字添加阴影效果,text-shadow css文字阴影_字体投影属性样式
  7. contourf参数 python_Python机器学习(六)
  8. 下两个网段转发的路由设置_收藏 | 多台路由器,不同网段的设备之间如何互访?...
  9. java进阶 2018_Java Web基础入门2018版
  10. The podfile