• Git命令_git reset和撤销commit、暂存区或工作区的修改


    git reset:

    hard模式:

    reset --hard 会在重置 HEADbranch的同时,重置stage区和工作目录里的内容。当你在 reset 后面加了 --hard 参数时,你的stage区和工作目录里的内容会被完全重置为和HEAD的新位置相同的内容。换句话说,就是你的没有commit的修改会被全部擦掉。

    如果输入 git reset --hard HEAD^,这时候不仅stage区和工作目录的内容被擦掉了,而且HEAD和当前branch分支会切换到上一条commit中。

    soft模式:

    reset --soft 会在重置 HEADbranch 时,保留工作目录和暂存区中的内容,并把重置 HEAD 所带来的新的差异放进暂存区。这种模式下会保存工作区的内容;

    hard和soft区别在于,hard会清空工作目录和暂存区,soft会保留工作目录;

    mixed模式:

    默认情况下的模式,reset不加参数,就是mixed模式;

    保留工作区目录,清空暂存区。把工作区修改,暂存区的内容以及reset导致的新文件差异都放进工作目录中。简而言之,把所有差异都混合放在工作目录中。

    所以如果想把暂存区和工作区的内容都撤销:

    git reset --hard

    //如果加上参数还可以撤销已经commit的内容 例如:git reset --hard HEAD^

    如果仅仅撤销工作区的内容:

    git checkout --file

    说到底reset的本质是移动HEAD,起到了撤销commit的作用。同时配合参数还可以修改工作区和暂存区(具体影响看模式,hard,soft,mixed)。



    参考链接:

    Git学习02 --暂存区,撤销修改,删除文件:https://www.cnblogs.com/zqlmmd/p/5541334.html

    撤销修改(撤销本地工作区的修改):https://blog.csdn.net/tsq292978891/article/details/78966550

    Git reset三种模式:https://www.jianshu.com/p/c2ec5f06cf1a

  • 相关阅读:
    图形验证码---pillow
    vue富文本编辑器vue-quill-editor
    django邮件发送
    Django REST Framework JWT
    jwt验证
    使用django的用户表进行登录管理
    [转]CSRF漏洞详细说明
    Django框架10
    Django框架09
    Django框架08
  • 原文地址:https://www.cnblogs.com/grooovvve/p/12911977.html
Copyright © 2020-2023  润新知