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

错误并未commit

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

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

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

git status查看状态
在这里插入图片描述
可以看到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给我们的提示:使用git reset HEAD file把缓存区的修改撤销掉,重新放回工作区

git reset HEAD readme.txt
git status

在这里插入图片描述
此时可以看到no changes added to commit说明缓存区是干净的

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

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

总结

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Spark!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值