美文网首页
关于git reset 和 git revert的区别

关于git reset 和 git revert的区别

作者: WebsnowDrop | 来源:发表于2017-12-30 22:03 被阅读0次

    今天来讲一讲关于git reset 和 git revert的区别

    在本地新建一个仓库名为test

    mkdir test

    进入test cd test

    将test初始化为git仓库

    $ git init
    Initialized empty Git repository in C:/Users/Administrator/Desktop/test/.git/
    

    在仓库里面新建一个文件,并添加到仓库中

    touch 1.txt
    git add .
    git commit -m "add 1.txt"
    

    [图片上传失败...(image-44efc6-1514642567342)]

    推送到远程仓库中
    git remote add origin git@github.com:WebsnowDrop/test.git
    这时,git就有了第一个commit add 1.txt

    [图片上传失败...(image-7f6d09-1514642567342)]

    git revert

    下面,修改1.txt的内容为"第一次修改",这时1.txt的内容为
    [图片上传失败...(image-7408b1-1514642567342)]

    这时,执行

    git revert HEAD 
    git push origin master
    

    我们看看会发生什么

    [图片上传失败...(image-7ee995-1514642567342)]

    我们看到commit增加了一条新的记录"Revert 第一次修改 "。
    让我们看看1.txt的内容
    [图片上传失败...(image-efc5f4-1514642567342)]

    1.txt中的内容变为修改之前的内容了!我们添加的修改不见了。

    所以,git revert的作用为
    新增一次commit,而将工作区的内容还原到之前修改内容之前的版本

    git reset

    再让我们执行git reset d9fdc66ca52093b73874ba95a9d8eff4d011cda3看下效果
    [图片上传失败...(image-fb9523-1514642567342)]
    看到第二和第三次commit记录都消失了!
    所以,git reset的作用为
    将工作区,暂存区,仓库中的所有版本退回到指定id的版本

    相关文章

      网友评论

          本文标题:关于git reset 和 git revert的区别

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