Git学习笔记06-版本回退
在实际中,向版本库提交多次后,几千行代码肯定不记得每次都改了什么,可以使用git log来查看提交日志。也就是git commit -m 后面填写的这部分内容
也可以使用git log --pretty=oneline让日志显示的简略点,--后面没空格的。
黄色的很长的这一段是commit id也就是版本号
在Git中,使用HEAD表示当前版本,上一个版本就是HEAD^,再上一个就是HEAD^^。也可以用HEAD~100表示往上100个版本
使用git reset命令版本回退,--hard参数之后再说。
使用git log可以看到修改内容的那个版本没有了
但是回退之后又后悔了,想要回到修改内容的版本怎么办。如果当前命令框还没有关闭,找到修改内容那个版本对应的commit id
使用 git reset --hard commit id。就可以更改回去。commit id 可以只输入前面几位
可以看到修改部分内容又回来了
但是如果命令窗口被关闭了该怎么办?使用git reflog可以查看自己历史操作命令
Git的版本回退速度非常快,因为Git内部有一个指向当前版本的HEAD指针,当版本回退时。仅仅只是把HEAD的指向改变了,然后顺便把工作区更新了,所以把HEAD指向哪个版本,哪个就是最新版本。
小结:
HEAD指向的版本就是最新版本,因此使用 git reset --hard commit id可以在不同版本之间切换
git log可以查看提交历史,方便确认要回到哪个历史版本
git reflog可以查看命令历史,方便确认要回到哪个未来版本
Git学习笔记06-版本回退的更多相关文章
- GIT学习笔记(1):创建版本库
GIT学习笔记(1):创建版本库 创建版本库 1.创建合适目录并初始化为仓库 版本库即需要交由Git进行版本控制的目录,其下所有文件的修改.删除,Git都能跟踪还原. 说明:初始化后,当前目录下会多出 ...
- Git学习笔记(一) 安装及版本库介绍
安装Git 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和 ...
- 【转帖】Git学习笔记 记录一下
本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅. 原帖地址 https://wangfanggang.com/Git/git/ 常用命令 仓库初始化 - git init 1 git i ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- Git学习笔记(四)
一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...
- Git学习笔记---协作的一般流程
一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...
- 机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记
机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记 关键字:k-均值.kMeans.聚类.非监督学习作者:米仓山下时间: ...
- GIT学习笔记(4):远程分支
GIT学习笔记(4):远程分支 远程分支 远程分支是什么 远程分支是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在GIT进行网络交互时才会更新.远程分支就是书签,提醒着你上次连接远程仓 ...
- GIT学习笔记(3):分支管理
GIT学习笔记(3):分支管理 何谓分支 GIT是如何存储数据的 GIT不是存储文件差异或者变化量,而是一系列文件的快照.在Git提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容 ...
随机推荐
- C++ 对象实例化(转)
C++ 对象实例化的一些概念: C++ 如果直接定义类,如classA a; a存在栈上(也意味着复制了对象a在栈中):如果classA a = new classA就存在堆中. 一.new创建类 ...
- 17.解释器模式(Interpreter Pattern)
17.解释器模式(Interpreter Pattern)
- Enum入门【原】
package com.bobo.www.cxf.impl; public enum Traffic { Red(1), Green(2), Yellow(3);//必须最前面 private int ...
- [Android] Android ViewPager 中加载 Fragment的两种方式 方式(一)
Android ViewPager 中加载 Fragmenet的两种方式 一.当fragment里面的内容较少时,直接 使用fragment xml布局文件填充 文件总数 布局文件:view_one. ...
- SCTP接口模型
一.接口模型 (1)SCTP套接字分为:一到一套接字和一到多套接字: (2)一到一套接字对应一个单独的SCTP关联(一个SCTP关联是两个系统之间的一个连接,不过可能由于多宿原因而在每个断点设计不止 ...
- 十二、文件和目录——Linux文件系统结构
12.1 Linux文件系统结构 12.1.1 文件操作基本元素 文件操作相关的最基本元素是:目录结构,索引节点和文件的数据本身 目录结构(目录项) 索引节点(i 节点) 文件的数据 12.1.2 文 ...
- 新萌渗透测试入门DVWA 教程2:DWVA 的配置和暴力破解靶机
啊呀,上周忘了更新了.开篇时分,简短的深表歉意. 好了,现在开始配置DWVS. 0x00 配置DWVS 首先输入密码登陆,用户名admin,密码password 进入界面后选择,DVWA Securi ...
- php错误提示 open_basedir restriction in effect 解决
<VirtualHost *:80> DocumentRoot "D:/www/4w_raaaa_com_2017" ServerName www.raaaa.com: ...
- tensorflow--logistic regression
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist=input_data. ...
- Kali Linux之web安全扫描器skipfish使用
0x00.skipfish简介 谷歌公司出品的开源web程序评估软件. skipfish特点:CPU资源占用低,扫描速度快,每秒可以轻松处理2000个请求,误报率低. 1x00.skipfish使用 ...