工作区内容修改了, 但是并未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. Hadoop实战-Flume之Sink Load-balancing(十七)

    a1.sources = r1 a1.sinks = k1 k2 a1.channels = c1 # Describe/configure the source a1.sources.r1.type ...

  2. Android Weekly Notes Issue #319

    Android Weekly Issue #319 July 22nd, 2018. Android Weekly Issue #319 本期内容包括: MotionLayout加动画; Kotlin ...

  3. TensorFlow框架(6)之RNN循环神经网络详解

    1. RNN循环神经网络 1.1 结构 循环神经网络(recurrent neural network,RNN)源自于1982年由Saratha Sathasivam 提出的霍普菲尔德网络.RNN的主 ...

  4. HTML5模拟衣服撕扯效果

    在线演示 本地下载

  5. Mac OS X 下查看和设置JAVA_HOME

    原文链接 : http://blog.csdn.net/done58/article/details/51138057 1, 查看Java版本 打开Mac电脑,查看JAVA版本,打开终端Termina ...

  6. block implicitly retains self to indicate this is 警告消除

    Build Settings 输入CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF 设置为No

  7. Css公共文件结构

    一般一个网站会有这么三个样式: global.css | reset.css(格式化样式) common.css(公共组件样式) layout.css(当前页面样式) 清除全站所有页面的浏览器默认样式 ...

  8. Java的访问权限修饰符

    default或者friendly表示默认的访问权限修饰符.

  9. leetcode 104 Maximum Depth of Binary Tree(DFS)

    Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...

  10. MAC OS Sierra 10.12.6 下对固态硬盘SSD 开启TRIM功能

    这个是对于不是mac原装SSD的情况下才做的操作... 大家都知道,苹果店卖的SSD硬盘那怕就是一个256G的也要1000多人民币,而市场上的也就400-500左右人民币,整整少了一半还要多,可见JS ...