美文网首页玖富钱包分享专题
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