当前位置:   article > 正文

廖雪峰Git学习 | 笔记五:撤销修改

廖雪峰Git学习 | 笔记五:撤销修改

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),重新放回工作区:

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

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

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

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

小结

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/659490
推荐阅读
相关标签
  

闽ICP备14008679号