git checkout -- file

git checkout -- file可以丢弃工作区的修改:

$ git checkout -- readme.txt

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commitgit add时的状态.

git reset HEAD <file>

用命令git reset HEAD <file>可以把暂存区的修改撤销掉(unstage),重新放回工作区:

$ git reset HEAD readme.txt
Unstaged changes after reset:
M   readme.txt

git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

假设把修改从暂存区提交到了版本库,怎么办呢?

可以回退到上一个版本。不过,这是有条件的,就是还没有把自己的本地版本库推送到远程。

小结

场景1:当改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

廖雪峰Git学习 | 笔记五:撤销修改相关推荐

  1. 廖雪峰Git学习笔记2-时光机穿梭

    基本都是按照廖雪峰老师的重新敲打了一遍,增强记忆,中间穿插了一些自己的理解,新手可能有误,请看原版: https://www.liaoxuefeng.com/wiki/896043488029600/ ...

  2. 廖雪峰Git学习笔记(上)

    据廖老师git教程有所改动 一.git及相关概念 Git及版本控制系统 Git:用C语言开发的分布式版本控制系统 DVCS (Distributed Version Control System) 1 ...

  3. 廖雪峰Git学习笔记1-Git简介

    Git的诞生 Linus用C语言写的一个分布式版本控制系统.2008年,Github网站上线,为开源项目免费提供Git存储. 集中式VS分布式 分布式版本控制系统没有"中央服务器" ...

  4. 廖雪峰git学习资料-涂改笔记

    注意: 本文章是看廖雪峰官网资料整理而来原地址如下: http://www.liaoxuefeng.com/ 附件为git常用命令 前言: 注意的问题 如果是首次提交会第一步:先在本地建立一个一样的仓 ...

  5. 廖雪峰Git教程笔记与总结 -- Git简介、常用命令、分支管理

    本文主要用于记录阅读Git教程 - 廖雪峰的官方网站后的一些心得笔记,并且对git一些常用命令做一个整理总结. 本文要点分为:1.Git简介:2.Git常用命令:3.Git分支管理. 一.Git简介 ...

  6. 廖雪峰git读书笔记--添加远程库

    最近又看了看廖雪峰的git教程,在看"添加远程库"这一节时遇到问题,谨记之. 添加远程库超时 在看"添加远程库"这一节时遇到问题, 我先输入 $ git rem ...

  7. 廖雪峰Python学习笔记1

    Python基础 文章目录 一.基础语法规范 二.数据类型 三.字符串与编码 四.条件判断 五.循环 一.基础语法规范 1.用#作为代码注释 2.当语句以冒号:结尾时,缩进的语句视为到麻花,缩进**使 ...

  8. javaScript——廖雪峰老师学习笔记(一)

    1.要查看一个变量的内容,在Console中输入console.log(a);,回车后显示的值就是变量的内容. 2.alert('我不想执行'); //提示框谷歌浏览器可直接执行 3.JavaScri ...

  9. 【廖雪峰Python学习笔记】面向对象高级编程

    文章目录 为实例和类绑定属性和方法 \_\_slots__限制当前class实例,对子类不管用 @property装饰器,将`getter`方法变成属性 多重继承 -- 一个子类可同时获得多个父类的所 ...

  10. 【廖雪峰Python学习笔记】面向对象编程OOP

    面向对象编程 OOP:Object Oriented Programming 程序的基本单元:对象 [ = 数据 + 操作数据的函数] [属性 + 方法] 三大特点:数据封装.继承和多态 OPP中的计 ...

最新文章

  1. 设A和B是两个按元素值递增有序的单链表,写一算法将A和B归并为按按元素值递减有序的单链表C,试分析算法的时间复杂度。(利用上篇带有头结点的线性链表操作)...
  2. three.js学习资料整理
  3. Hyperledger Fabric 核心模块(5)peerer共识
  4. 【问链-EOS公开课】第十三课 EOS插件机制深入解析
  5. 如何定制化SAP Spartacus的页面布局
  6. c# 创建委托 消息订阅_C#面向对象之委托和事件
  7. spring框架结构介绍
  8. python静态变量_python静态变量
  9. 接私活被公司开除。。
  10. 去百度/阿里/腾讯…做测试的,都是什么样的人?
  11. 服务器 重启windows_安装Windows 计算机意外
  12. 沈航C语言上机实验题答案,大学大一c语言程序设计实验室上机题全部代码答案(实验报告).doc...
  13. Delphi7调用dll(图文教程)2021最新
  14. 摄影测量学和计算机视觉,摄影测量学
  15. 千兆路由器怎么设置网速最快_如何设置路由器使网速最快
  16. 在html编辑器中插入css,怎么给kindeditor编辑器添加引用(blockquote)标签,并选择css样式...
  17. 提高工作效率必备的生产力工具
  18. https协议谷歌浏览器使用Jmeter脚本录制
  19. python3网络爬虫系列(一)Redis库安装原来只需这样简单三步
  20. 苹果xsmax登录id服务器无响应,iPhone XS Max无法开机了这几招轻松解决!

热门文章

  1. Mathtype公式编辑器常用快捷键
  2. Mac下 CMake 安装及环境配置
  3. 严蔚敏版数据结构视频讲解
  4. Mac版 matlab 安装 GAOT工具箱
  5. Oracle分析函数之Rank函数
  6. 长ping 命令,检测网络连接状态
  7. ACR122U-A9|ACR1251|ACM1252系列NFC读写器读卡器PCSC Tool测试工具使用步骤说明
  8. ecshop 源码文件结构说明
  9. 如何下载有效的Flash离线安装包
  10. 捷联惯导基础知识解析之六(捷联惯导与组合导航仿真)