一、命令

git 回退命令主要包含两个类别:git revert  和   git reset

1.命令概述

  • git revert 用于撤销某次的提交,他不会删除提交历史,而是创建一个新提交反向操作,达到撤销的效果。推荐使用于已经push的场景。(VSCode中可以先撤销,不编辑啊,然后取消提交,重新commit,自己定义commit信息)
    在这里插入图片描述

  • git reset 通过移动 HEAD 指针用于回滚,会删除提交历史,且若是push后使用reset后会导致本地与远程提交历史不一致,必须使用强推,有风险。推荐使用于未push的场景,在本地操作。

  1. git revert <commit-hash>

git revert 用于撤销某次提交的更改,但不会删除提交历史。它通过添加新提交(而非删除历史)来反向操作,生成一个新的提交,将指定提交的更改反向应用到当前分支。

  • -n(或 --no-commit)‌:撤销更改但不自动提交,需手动解决冲突后提交
  • –abort‌:终止正在进行的 revert 操作
  • 范围撤销‌:git revert -n <commit-A>…<commit-B>,撤销连续多个提交
  • 提示‌:若 revert 过程出错,可用 git revert --abort 中止操作
# 使用范围 revert 撤销从坏提交到 HEAD 的所有更改(按从新到旧顺序)  
git revert -n abc123..HEAD  
  1. git reset <commit>

git reset --soft : 保留暂存区和工作区修改
git reset --mixed : 保留工作区修改,清空暂存区
git reset --hard : 丢弃所有修改

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐