撤销修改

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

$ git checkout -- readme.txt

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

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

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

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

Git同样告诉我们,用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区:

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

总结:

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 自然,你是不会犯错的。不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行: $ cat...
    萧非子阅读 3,777评论 0 51
  • 自然,你是不会犯错的。不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行: $ cat...
    yshenhn阅读 1,339评论 0 0
  • 撤销修改 比如我现在在readme.txt文件里面增加一行 内容为5555,我们先通过命令查看如下: 在我未提交之...
    八宝君阅读 11,388评论 0 0
  • 001 如何降低专家爽约风险 尽量获得专家的正式承诺,提前用足够时间确定具体行程; 将风险写入风险计划书,每周例会...
    李小川_新晋奶爸阅读 1,332评论 0 1
  • 千盼万盼,终于盼到过年了.前几天不停地赶作业,现在可以停下来休息几天了. 这几天,我真正品尝到了年的味道. 大年三...
    昊勋阅读 1,378评论 0 0