美文网首页
Git reset 和 revert 的区别

Git reset 和 revert 的区别

作者: ToNext | 来源:发表于2017-11-25 12:02 被阅读21次

    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 ...

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

    相关文章

      网友评论

          本文标题:Git reset 和 revert 的区别

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