美文网首页Git使用程序员前端学习指南
说说Git reset 与 revert 的故事

说说Git reset 与 revert 的故事

作者: 朋友喜欢叫我春哥 | 来源:发表于2017-12-28 01:18 被阅读16次

    俗话说一入Git深似海,单独说Git一本书恐怕都不够,今天只是浅尝止渴而已。

    简单说说resetrevert2个主要命令。

    要学习Git,首先要明白Git几个基本概念

    • Workspace:工作区
    • Index / Stage:暂存区
    • Repository:仓库区(或本地仓库)

    搞懂了这三个区域,才能更好理解这些Git命令是在干什么。

    一、reset

    reset命令的作用?

    reset命令把当前分支指向另外一个位置(提交的ID版本号),并且有选择性的变动暂存区工作区的内容。

    原理是基于本地仓库的文件去覆盖暂存区或工作区的内容

    reset主要参数的区别

    当没有指定ID的时候,默认使用HEAD,如果指定ID,那么就是基于指向ID去变动暂存区或工作区的内容

    // 没有指定ID, 暂存区的内容会被当前ID版本号的内容覆盖,工作区不变
    git reset
    
    // 指定ID,暂存区的内容会被指定ID版本号的内容覆盖,工作区不变
    git reset <ID>
    
    • --mixed(默认)

      默认的时候,只有暂存区变化

    • --hard参数

      如果使用--hard参数,那么工作区也会变化

    • --soft

      如果使用--soft参数,那么暂存区和工作区都不会变化

    三次的提交记录 当前文件的内容 使用`--hard`参数,那么工作区也会变化 如果使用`--soft`参数,那么暂存区和工作区都不会变化

    二、revert

    revert命令撤销指定的commit并且新建一个commit,新建comment的内容由指定commit前一个提交内容保持一致

    git revert <commit>
    
    
    revert.txt 三次提交记录 revert前revert.txt的内容 revert后revert.txt的内容

    参考链接

    以上部分图片来源于图解Git

    相关文章

      网友评论

        本文标题:说说Git reset 与 revert 的故事

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