工作区内容修改了, 但是并未add到暂存区, 想 回退到上一个版本

readme.txt中添加了一行:

Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
My stupid boss still prefers SVN.

纠正这次修改。你可以删掉最后一行,手动把文件恢复到上一个版本的状态。

如果不手动删除进行恢复

    使用git status 查看状态

    

    你可以发现,Git会告诉你,git checkout -- file可以丢弃工作区的修改

git checkout .    所有在工作区的修改全部撤销(别忘了一点, 代表所有文件)

git checkout -- readme.txt  readme.txt文件在工作区的修改全部撤销

 >>>>这里有两种情况:

   一种是readme.txt自修改后还没有被放到暂存区,

    现在,使用 git checkout .  或   git checkout -- readme.txt  撤销修改就回到和版本库一模一样的状态;

   一种是readme.txt已经添加到暂存区后,又作了修改,

    现在,使用 git checkout .   或   git checkout -- readme.txt  撤销修改就回到添加到暂存区后的状态。

  刚才添加

    My stupid boss still prefers SVN.

  后并未add添加到暂存区, 所以撤销修改后会回到和版本库一摸一样的状态

   

工作区内容修改了, 并且已经add到暂存区了, 想回退到上一个版本

修改:

Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
My stupid boss still prefers SVN.

add到暂存区

庆幸的是,在commit之前,你发现了这个问题。

git status查看一下,修改只是添加到了暂存区,还没有提交:

Git同样告诉我们,用命令git reset HEAD <file>

>>>>>>>>可以   把暂存区的修改撤销掉(unstage),并且 重新放回工作区:

git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。

当我们用HEAD时,表示最新的版本。

git reset HEAD readme.txt   回退单个文件

git reset HEAD  全部回退

 再用git status查看一下,现在暂存区是干净的,工作区有修改:

 再使用    git checkout .    或   git checkout -- readme.txt   丢弃工作区的修改

 现在工作区同版本库一致了

现在,假设你不但改错了东西,还从暂存区提交到了版本库,怎么办呢?

Git入门 时光穿梭鸡 版本回退 工作区 暂存区    参考其中的版本回退内容

Git 时光穿梭鸡 撤销修改的更多相关文章

  1. Git 时光穿梭鸡 管理修改

    Git跟踪并管理的是修改,而非文件. 什么是修改? 比如你新增了一行,这就是一个修改, 删除了一行,也是一个修改, 更改了某些字符,也是一个修改, 删了一些又加了一些,也是一个修改, 甚至创建一个新文 ...

  2. Git 时光穿梭鸡 删除文件 以及批量删除文件

    先添加一个新文件test.txt到Git并且提交: 一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了 $ rm test.txt 这个时候,Git知道你删除了文件, 因此,工作 ...

  3. Git时光机穿梭之撤销修改

    自然,你是不会犯错的.你在readme.txt中添加了一行: $ cat readme.txt Git is a distributed version control system. Git is ...

  4. git命令(10):git 常用操作,撤销修改(2)

    一. 创建与合并分支 1. 从master分支创建dev分支并切换到dev分支: git checkout master git checkout -b dev 其中,git checkout -b ...

  5. Git入门 时光穿梭鸡 版本回退 工作区 暂存区

    分布式集中式 CVS及SVN都是集中式的版本控制系统 , 而Git是分布式版本控制系统 集中式版本控制系统,版本库是集中存放在中央服务器的, 而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得 ...

  6. Git版本回退和撤销修改的区别

    在阅读廖雪峰git教程时,对版本回退和暂存区撤销修改没太看懂,所以自己测试了一下. 版本回退: git reset --hard HEAD 这个命令用于版本回退,就是将已提交的版本覆盖本地工作区的内容 ...

  7. [原]git的使用(四)---撤销修改

    8.撤销修改 $ cat readme.txt Git is a distributed version control system. Git is free software distribute ...

  8. Git版本回退和撤销修改

    版本回退: 在实际工作中,我们会不断对文件进行修改,然后不断提交修改到版本库里,一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失. ...

  9. Git 基础教程 之 撤销修改

    Git跟踪并管理的是修改,而非文件.每次修改,如果不用git add到暂存区,那就不会加入到commit中, 要么全部改完后,再add → commit :要么改一点,就add → commit. 撤 ...

随机推荐

  1. 2017-2018-1 20179209《Linux内核原理与分析》第三周作业

    一.函数调用堆栈 存储程序.函数调用堆栈(高级语言起点)和中断机制是计算机工作的三大法宝.其中函数调用堆栈是本次学习的重点.先介绍一些基本的知识点: 1.ebp 在C语言中用作记录当前函数调用的基址: ...

  2. ABAP alv report

    *&---------------------------------------------------------------------* *& Report  YTST_FF_ ...

  3. java.sql.SQLException: Illegal connection port value '3306:success'

    严重: Servlet.service() for servlet jsp threw exceptionjava.sql.SQLException: Illegal connection port ...

  4. cinder挂载卷的过程原理

    LVM名称介绍 PV:物理磁盘 VG:卷组,多个PV可以组成一个VG,一个VG可以划分成多个LV(逻辑卷). PP:物理区块,将一个VG逻辑的划分成连续的小块. LP:逻辑区块,若干个PP组成一个LP ...

  5. 学习使用ExpressJS 4.0中的新Router

    概述 ExpressJS 4.0中提出了新的路由Router.Router好比是一个"迷你版"的express应用,它没有引入views或者settings,但是提供了路由应有的A ...

  6. Mac系统存储-其他存储无故增大

    解决办法:打开Finder:安全倾倒废纸篓就会减少很大一部分存储.

  7. 连接并同步windows下的git仓库

    1. 需求 电脑A和电脑B本来通过服务器同步工作目录.服务器时linux系统上有个裸仓库,不管在A上还是B上工作,工作完毕后使用git go与服务器仓库同步.A和B都是windows系统,在工作目录下 ...

  8. codeforces 609D D. Gadgets for dollars and pounds(二分+贪心)

    题目链接: D. Gadgets for dollars and pounds time limit per test 2 seconds memory limit per test 256 mega ...

  9. 第十五章-Web开发

    随着web的发展, 最开始使用的CS架构已经不适合web了, 现在web使用的架构是BS架构 如今大部分重量级的软件都以web形式提供了 web开发的四个阶段 1) 静态web页面 2) CGI: 静 ...

  10. linux命令学习笔记:cut详解

    cut命令从文件的每一行剪切字节.字符和字段并将它们写至标准输出.它是以文件的每一行作为处理对象的. 命令格式:cut [选项] [范围] 文件.选项用来指定单位(字节.字符还是字段),范围指定选项的 ...