git完全教程:006—Git撤销修改

目录

    • 错误并未`commit`
    • 错误已被`git add`
    • 总结

错误并未commit

可能你一不小心改错了,保存之后没有上传

Git is free software.The 3`st update
git tracks changes of files
fuck the boss

如果记得之前的内容自然是最好。如果工作中代码量比较大,可能记不过来,这时候就要用到Git。

git status查看状态
git完全教程:006—Git撤销修改_第1张图片
可以看到git给出的建议

  • 使用git add file来放到缓存区
  • 使用git checkout -- file来丢弃工作区的修改

终端输入指令

git checkout -- readme.txt

回车后终端没有打印信息,没有问题
git checkout -- file就是把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

  • readme.txt被修改后还没有被放到暂存区,现在撤销修改就是回到和版本库一模一样的状态
  • readme.txt已经添加到缓存区,然后又被修改,现在使用撤销指令,就回到添加到缓存区之后的状态

总的来说
git checkout -- file就是让这个文件回到最近一次git commitgit add的状态

再看看readme.txt里面的内容
在这里插入图片描述
已经被还原

错误已被git add

readme.txt的内容改为

Git is free software.The 3`st update
git tracks changes
fuck the boss again

git add不小心提交了
git status查看
git完全教程:006—Git撤销修改_第2张图片
不小心添加到了缓存区,但是还没有提交
我们可以看到git给我们的提示:使用git reset HEAD file把缓存区的修改撤销掉,重新放回工作区

git reset HEAD readme.txt
git status

git完全教程:006—Git撤销修改_第3张图片
此时可以看到no changes added to commit说明缓存区是干净的

然后我们回顾一下如何丢弃工作区的更改——git checkout -- readme.txt

在这里插入图片描述
干净了

总结

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

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

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

你可能感兴趣的:(Git完全教程,git,github)