Git学习07--撤销修改

  • 1.未add,未commit
    在上一篇中我们修改了myTeam.txt,未commit,正在就要commit 时突然发现末尾处多了一个bu健康的网址,估计是不小心copy进来了。,好在及时发现了。手动删除后用git status 看下状态。
git status
status.png

从图中发现git 告诉我们我们还可以用下面的命令来撤销工作区的修改。

git checkout -- <file>...

撤销工作区的修改包括这几种情况:
1.myTeam.txt修改后未放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
2.myTeam.txt修改后已放到暂存区后,且又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
PS:git checkout -- file 命令中的-- 很重要,没有-- ,就变成了“切 换到另一个分支”的命令,关于分支我们后面再讲。

git checkout -- myTeam.txt

文件内容果然恢复了原貌。

  • 2.已add,未commit
    继续修改myTeam.txt, 已git add 后准备commit ,结果又发现在末尾处有个bu健康的网址。
http://www.***1024.cc

惨了,赶紧git status 看下


status2.png

上图中Git同样告诉我们,用命令git reset HEAD file 可以把暂存区的修改撤销掉(unstage),重新放回工作区,再用git status 查看一下

  git reset HEAD myTeam.txt
  git status
reset.png

现在暂存区是干净的,工作区有修改,还记得怎么丢弃工作区的修改吗?

git checkout -- myTeam.txt
git status
checkout.png

一切都OK了。

  • 总结
  • 1.修改后 未add(添加到暂存区) 需要撤销修改时:
    a.git checkout -- myfile.txt 或 手动删除工作区修改
    b.工作区 : clean 暂存区: clean
  • 2.修改后 add了(未commit) 再次修改文件 要撤销第二次修改时:
    a.git checkout -- myfile.txt (将暂存区恢复到工作区)
    b.暂存区有第一次的修改需要commit
  • 3.修改后 add了(未commit),需要撤销修改时:
    a.git reset HEAD myfile.txt (将暂存区修改删除)
    b.此时工作区的修改还未撤销,git checkout -- myfile.txt (撤销工作区修改)
  • 4.修改后 add并commit了,需要撤销修改时:
    a.git reset --hard HEAD^ (版本回退)

_本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 ) _
转载自【宝宝巴士SuperDo团队】原文链接: http://www.jianshu.com/p/fd635b8a65b8

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 14,343评论 4 54
  • 有些星座在感情上特别的容易受伤,往往属于那种真情付出的人,但是付出了一切才发现,原来爱情并不是一味地付出,才是好的...
    星眼洞人阅读 2,900评论 0 0
  • 高中是所有作为学生最难忘的一段时光,它不同于小学初中,那时的我们年幼无知,它也不同于大学,我们懂的太多,...
    小丑平阅读 1,396评论 0 0
  • 失落的梦中秦淮,被捧在手心轻轻微笑,我一直觉得不应该是这个样子,而梦醒之后,它确实是这个样子,一如陌生的的笑容,温...
    醉花令阅读 1,292评论 0 0
  • 有对象是一件多么可爱的事呢 假期朋友聚会可以秀恩爱 走在路上可以揽着他胳膊 可以帮你背包很冷的时候可以暖手 还可以...
    仙贝吧啦阅读 2,361评论 3 1

友情链接更多精彩内容