• 撤销git 命令


    一、撤销add命令

    1、单个文件

    git reset HEAD  -filename

    2、多个文件,只撤销部分文件

    git reset HEAD 将file退回到unstage区

    3、如果是撤销所有的已经add的文件:

    git reset HEAD .
    

    二、git rm 与 git reset的区别

    1. git rm:用于从工作区和索引中删除文件
    2. git reset:用于将当前HEAD复位到指定状态。一般用于撤消之前的一些操作(如add,commit等)。
    3. git rm file_path删除暂存区和分支上的文件,同时工作区也不需要
    4. git rm --cached file_path 删除暂存区或分支上的文件, 但工作区需要使用, 只是不希望被版本控制(适用于已经被git add,但是又想撤销的情况)
    5. git reset HEAD 回退暂存区里的文件

    三、取消commit命令

    git reset --soft HEAD^

    --HEAD^

    指上一个版本,也可以写成HEAD~1(HEAD~2回退2个commit)

    --soft
    不删除工作空间改动代码,撤销commit,不撤销git add .
    --mixed
    不删除工作空间改动代码,撤销commit,并且撤销git add .
    (git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的)。
    --hard
    删除工作空间改动代码,撤销commit,并且撤销git add ,回退版本

    commit修改注释

    git commit --amend

    四、取消merge命令

     git revert -m 【要撤销的那条merge线的编号】 【merge前的版本号】
    1. # 1 commit 之前的撤销
    2. 未添加至暂存区的撤销(add 之前)
    3. git status
    4. git checkout .
    5. 已添加至暂存区的撤销(add 之后,有或者没有commit操作都可以执行)
    6. git reflog
    7. git reset --hard bca6882(relog 中展示的commitId)
    8. # 2 push之后的撤销
    9. push操作后的撤销不想将本次的操作生效
    10. git revert commitId(提交的id)
    11. git push origin brandname 此次操作就会撤销掉上一次的push
    12. 会生成一条revert 的提交记录
    13. 将userName 改为username 经过一系列的git操作
    14. git add .
    15. git commit -m "commit"
    16. git push orgin
    17. 进行git revert commitId
    18. 再进行git push origin branchname
    19. userName 还是userName,
    20. 再revert 的时候,
    21. git revert
    22. git push origin branchname
    23. userName 还是改为username.
    24. 总结为:
    25. git revert 为奇数时生效,为偶数时,失效
    26. # 3 git 回滚:
    27. git 回滚到某一次commit操作,在该commitId之前的操作,将全部失效(此方法不建议使用,有风险),
    28. git reset --hard commitId
    29. git push origin branchname --force (强制覆盖,因为是不可逆的,不建议使用)

    五、参考

    CSDN博客_git 取消merge

    git的撤销操作SegmentFault 思否

  • 相关阅读:
    Everything 全局搜索之正则表达式Regex
    springboot+vue+elementui教师下乡支教岗位申请系统java项目源码
    打包工具webpack的学习
    性能测试场景设计之普通性能场景设计
    静态住宅代理的优缺点以及使用方法
    19【CallableStatement 接口】
    C专家编程 第11章 你懂得C,所以C++不再话下 11.11 C++如何进行操作符重载
    launcher homeSettings notificationDots
    使用了lombok后如何生成正确源码包
    【ai】tx2-nx 开通samba
  • 原文地址:https://blog.csdn.net/weixin_42322206/article/details/125632678