Git reset 和 revert 的区别

reset 和 revert 的区别

git reset

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

    工作区不变,只是将版本库和暂存区 信息回退到了某个版本.

  • - -soft

    工作区不变,只回退到commit 信息到某个版本.暂存区不变,直接commit即可再次提交.

  • - -hard

    工作区和暂存区都会回退到某个版本.(本地代码仓库源码)

    如果在远程push代码以后,也使用 reset --hard <commit...> 回退代码,这样你线上的代码并没有变,当你再次提交的时候很可能会出现代码冲突问题。


git revert

git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>…​
git revert --continue
git revert --quit
git revert --abort

git revert 用法是撤销某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销
作为一次最新的提交,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。

  • git revert HEAD

    撤销上一次提交

  • git revert HEAD~

    撤销上上一次提交

  • git revert commit ...

    撤销指定的版本,撤销也会作为一次提交进行保存

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容