美文网首页玖富钱包分享专题
Git reset 和 revert 操作

Git reset 和 revert 操作

作者: 楼上那位 | 来源:发表于2017-04-17 07:32 被阅读12次

    最近写RN 的东西,不小心将一些不必要的代码提交到了远程分支,what fuck y, 宝宝一下子心里不高兴了。咋办?赶紧回滚,可是git 有 resetrevert 两个命令,用哪个合适呢?

    先让我们搞明白几个名词

    • HEAD
      这是当前分支版本顶端的别名,也就是在当前分支你最近的一个提交

    • Index 暂存区
      index也被称为staging area,是指一整套即将被下一个提交的文件集合。他也是将成为HEAD的父亲的那个commit

    • Working Copy
      working copy代表你正在工作的那个文件集

    reset

    git reset [--soft |  --mixed  |  --hard]
    

    1 . --soft 撤销commitid至暂存区

    2 . --mixed 撤销版本库和暂存区至工作区

    3 . --hard 使用版本库覆盖暂存区和工作区

    使用--hard 会发现 远程版本库的代码是没有变化的啊

    revert

    如果代码提交到了远程仓库,我们只能使用 revert,该操作不会影响提交记录,方便我们查看历史记录

    1. revert 用于反转提交,使用一个新的提交来消除历史修改。

    总结:

    • reset 会删除指定的commit,HEAD 指针后移
    • revert 不会删除commit,会产生新的commit,HEAD 指针前移
    • 如果代码已经push 到远程 就用revert,否则用reset

    相关文章

      网友评论

        本文标题:Git reset 和 revert 操作

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