Git reset 和 revert 操作

最近写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常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 12,745评论 1 26
  • 起初并不在意,想想等下吃过药也就好了。及至中午渐感头越发的晕,身体也开始冷了起来。草草洗完衣服,把饭菜和药都吃过,...
    63827048f0e2阅读 838评论 0 0
  • 我是四川绵阳人(绵阳边边上不能为大绵羊代言),男朋友是四川遂宁人。怎么也没想到这么小的地理差异,我俩也能爆发个饺子...
    金木_Doulee阅读 2,241评论 0 0
  • 儿时,觉得长大是件很美好的事。男孩试着画起了和爸爸一样的小胡子,觉得很酷;女孩穿起妈妈的高跟鞋,在家里“哒哒”走着...
    淡语52188阅读 5,302评论 3 6
  • 金指尖的花园阅读 1,644评论 0 2