美文网首页git使用git
Git 中 git checkout -- <file&g

Git 中 git checkout -- <file&g

作者: grey_27 | 来源:发表于2018-09-01 10:04 被阅读944次
网上关于这个撤销指令的教程多的数不胜数,但是在自己学习中还是遇到一些坑,在此记录下来,也给同样遇到坑的同学一点参考

先说遇到问的问题吧 在廖神的博客里 对于这个指令的解释是


Q2.png

但后来我在CSDN的一篇文章中见到的解释是


Q1.png
这就出现了两种意思 在我修改了工作区的内容后 使用 git checkout -- <file>到底是从缓存区还是版本库中还原呢 ,对此只有实践才有发言权

第一步:在管理库中添加一个版本:


1.png

第二步:在缓存区中添加一个版本:


2.png
第三步:修改工作区文档
3.png

第四步:第一次使用git checkout -- <file>:


4.png
好了这时还原的结果是从缓存区里拉取的还原,貌似CSDN的网友说的更对。别急现在还不能下结论,毕竟廖神怎么会犯这种低级错误呢

第五步:清空缓存区:


5.png

第六步:这个时候缓存区没有版本了再次使用git checkout -- <file>:


6.png
惊喜的事情发生了,工作区的版本竟然从版本库中还原了!

结论

通过这六步操作 我觉得git checkout -- <file>指令应该是从先从缓存区中拉取版本还原,如果没有再到版本库中拉取还原。在之后重新翻看廖神博客时,发现廖神在这句话的前一章对这句指令的解释是 7.png

(跟我最后得出的结论一样了,毕竟commit后自然没有缓存区版本了)

最后细心的同学应该一开始就发现了我的错误,对的 我使用的指令是 git checkout <file>原因是刚开始我使用git checkout --<file>语句一直报错,注意了--后面我没有加空格 因为之前学习的指令--后都是直接加指令的 ,最后无奈的取消了--,但一套指令下来我觉得和加了--的效果一样 而且后来也找到了廖神对这个指令的正确解释也就不加以修改了,我相信这个错误不止我一个小白出现过吧,在百度git checkout --<file>指令错误时没有搜到指正这个问题的贴子(可能是我搜索功力还不够吧)所以尽管我闹出了这个笑话 我还是决定把它写出来,给之后遇到这个问题的同学一点参考吧

相关文章

网友评论

    本文标题:Git 中 git checkout -- <file&g

    本文链接:https://www.haomeiwen.com/subject/vypywftx.html