美文网首页
git reset 与 git revert的区别

git reset 与 git revert的区别

作者: 饥人谷_Zachary | 来源:发表于2017-07-25 19:59 被阅读0次

    git reset --hard xxx

    总的来说,git reset 命令用于将现在的版本回滚到过去的某个版本。
    其中,git reset --hard会让目前的工作目录中的数据和提交记录都回到过去的某次commit后的状态。
    演示如下:

    image.png

    为了方便演示,我commit了三次改动,分别命名为reset test 1,reset test 2,reset test 3。
    根据git status 的信息我们可以知道,当前工作目录中的数据和reset test 3是一致的。
    我们使用git reset --hard

    image.png

    可见,版本彻底退回到了reset test 2。

    git reset --soft xxx

    git reset --soft 会让版本回到某次commit后的状态,但并不改动工作目录中的文件。这个时候使用git status,会发现有一些文件尚待提交。

    image.png

    可见,在reset test 2 中被提交的 reset2.html现在变为了一个未提交的新文件。

    git revert xxx

    git revert 与 git reset 不同, git revert 的撤销行为本身也会被作为一次commit 保存在log中。


    image.png

    相关文章

      网友评论

          本文标题:git reset 与 git revert的区别

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