Git教程——撤销内容修改和版本回退

上一篇大家已经成功将文件上传到了git版本库,但是更多的时候我们要对文本内容不停的修改。

我们先复习一下上一篇讲的内容:

一、新建文本test.txt:里面写我要像梦一样自由。

二、上传到版本库

命令:

一、撤销内容修改

现在我们修改test.txt内容为:

保存。

查看版本库状态

git告诉我们test.txt文件被修改了。

1、只做了本地修改

现在我们突然不想做之前的修改了,要怎么做呢?

运行了上面的命令以后再去看你的文件,发现修改已经不见了。

2、修改后添加了文件但没有提交

再次修改test.txt文件的内容为最初修改的内容。然后添加(add)。

没错,上面箭头指出的git reset HEAD test.txt就是撤销添加。撤销添加以后只需要撤销本地修改即可——撤销本地修改就是刚才提到的命令——git checkout -- filename,这里就是:

3、文件已经提交

如果文件已经通过commit提交了,那该怎么办呢?这就需要下面的只是——版本回退

二、版本回退

我先告诉大家两个命令的意思:

1、git log 查看git操作日志,如果日志很长,摁Enter键向下查看,如果不想看了,就摁q退出查看

2、cat filename.txt查看文件内容

我们将修改后的test.txt文件提交到版本库。

现在我们要撤销修改,只需要运行如下命令

git reset --hard HEAD~

我们发现文件的内容变回了修改之前的内容。

而且通过git status查看状态发现很清洁,不需要再次添加和提交:

通过git log 我们可以查看提交的各个版本,然后可以通过

git reset --hard 版本前几位数字即可

即可回退到相应的版本:

原文发布于微信公众号 - 自动化测试实战(gh_839e78b6ba28)

原文发表时间:2017-07-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

SDN开发笔记(二):SDN控制器的使用

鉴于网上对于sdn开发相关的资料较少又乱的现状,从这篇文章开始,我将陆续分享我在sdn开发过程中的经验,我的sdn项目开发是基于opendaylight的rel...

314100
来自专栏cloudskyme

myeclipse svn 修改用户名和密码

由于在svn的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法。      解决方案: 在Eclipse使...

43760
来自专栏码农二狗

php安装gd扩展

1K40
来自专栏简单聊聊Spark

大数据在实际生产环境的前期准备

eg:  bigdata-cdh01.test.com. bigdata-cdh02.test.com. bigdata-cdh03.test.com

15530
来自专栏专注数据中心高性能网络技术研发

调整进程的最大linux文件描述符

1.介绍 ---- ulimit 命令提供了针对 shell和或由该 shell 启动的进程占用资源的控制。  持久化修改生效是在/etc/security/l...

37350
来自专栏编程

ansible2.4 源码分析-自定义inventory解析插件实现

微信公众号:进击的大杂烩 通过上一篇文章,初步的分析了ansible2.4的一个运行流程,没有对 ansible 解析 source 的过程进行详细分析。本文通...

349100
来自专栏Java开发

搭建 ElasticSearch 6.1.3分布式集群

先启动mac上的master,再启动Ubuntu上的slave节点,观察输出,会有一个node-102探测到master节点的提示:

21010
来自专栏geekidea

Spring Boot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip

https://github.com/geekidea/spring-boot-assembly

26610
来自专栏程序员互动联盟

【编程基础】初学者如何学习Linux网络

1. Linux网络编程--网络知识介绍 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 1.1 客户端 在网络程序中,...

335130
来自专栏栗霖积跬步之旅

springboot启动异常:java.lang.IllegalArgumentException: Could not resolve placeholder 'xxx.xxx.xxx' in va

在打包到服务器上时指定的配置文件命名会去查找对应的配置文件,发现不了,导致属性注入失败,最终导致tomcat启动失败。

17300

扫码关注云+社区

领取腾讯云代金券