Git 代码回退操作
·
一、命令
git 回退命令主要包含两个类别:git revert 和 git reset
1.命令概述
-
git revert 用于撤销某次的提交,他不会删除提交历史,而是创建一个新提交反向操作,达到撤销的效果。推荐使用于已经push的场景。(VSCode中可以先撤销,不编辑啊,然后取消提交,重新commit,自己定义commit信息)

-
git reset 通过移动 HEAD 指针用于回滚,会删除提交历史,且若是push后使用reset后会导致本地与远程提交历史不一致,必须使用强推,有风险。推荐使用于未push的场景,在本地操作。
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
git reset <commit>
git reset --soft: 保留暂存区和工作区修改git reset --mixed: 保留工作区修改,清空暂存区git reset --hard: 丢弃所有修改
更多推荐



所有评论(0)