当前位置: 首页 > news >正文

git revert

git reset(危险):
├── 直接删除提交历史
├── 修改 Git 历史
└── 团队协作中容易出问题

git revert(安全):
├── 保留原始提交历史  
├── 创建新的"反转提交"
└── 适合已推送到远程的提交

工作原理:
原始历史:A → B → C → D (HEAD)
执行:git revert C
结果:A → B → C → D → C' (HEAD)

其中 C' 是新创建的提交,它的内容完全抵消了 C 的修改。

# 撤销最新提交
git revert HEAD# 撤销指定提交(通过 hash)
git revert 70a6d7b4# 撤销指定提交(通过相对位置)
git revert HEAD~2  # 撤销倒数第3个提交# 撤销连续的多个提交(从 HEAD 到 HEAD~2)
git revert HEAD~2..HEAD# 撤销多个不连续的提交
git revert 70a6d7b4 cc53969d# 撤销一个范围的提交
git revert A..B  # 撤销从 A 到 B 的所有提交(不包括 A)# -n, --no-commit:不自动提交,只修改工作区
git revert -n HEAD# -m, --mainline:用于撤销合并提交
git revert -m 1 <merge-commit># --no-edit:使用默认提交信息
git revert --no-edit HEAD# --strategy:指定合并策略
git revert --strategy=recursive HEAD# --continue:解决冲突后继续
git revert --continue# --abort:取消正在进行的 revert
git revert --abort

解决冲突

# 1. 执行 revert 遇到冲突
git revert cc53969d
# 输出:error: could not revert cc53969d... 
# hint: after resolving the conflicts, mark the corrected paths# 2. 查看冲突文件
git status
# 显示冲突文件列表# 3. 手动编辑冲突文件
# 解决 <<<<<<< HEAD 和 >>>>>>> parent of cc53969d 之间的冲突# 4. 标记冲突已解决
git add <冲突文件># 5. 继续 revert
git revert --continue# 或者放弃 revert
git revert --abort

http://www.dtcms.com/a/334580.html

相关文章:

  • Java Condition 对象 wait 方法使用与修复方案
  • 云计算-Kubernetes+Istio 实现金丝雀发布:流量管理、熔断、流量镜像、ingreess、污点及pv案例实战
  • 如何防止 RabbitMQ 的消息丢失?如何保证消息的可靠传输?
  • Python 项目高频设计模式实战指南:从理念到落地的全景剖析
  • Linux软件编程--线程
  • 蓝牙音频ANC四通道测试解决方案
  • 新经济形态下人才能力结构变革与发展研究报告
  • Win10快速安装.NET3.5
  • RecSys:多目标模型和MMOE
  • .NET8下的Garnet使用
  • androidstudio内存大小配置
  • 研究生第十六周周报
  • 718SJBH公交查询系统
  • 4.6 Vue 3 中的模板引用 (Template Refs)
  • Sklearn 机器学习 邮件文本分类 加载邮件数据
  • [Responsive theme color] 动态主题 | 色彩工具函数 | HEX与RGB
  • 嵌入式第三十天(线程)
  • 围棋对战游戏开发详解 附源码
  • 【C++】标准库中用于组合多个值的数据结构pair、tuple、array...
  • k8s+kubeedge的混合框架下,云端pod与边缘端pod如何进行通信?
  • HTTP协议-1-认识各个HTTP协议版本的主要特点
  • Python进行点云公共区域的提取
  • Docker目录的迁移
  • 银行间交易IMIX协议加密相关
  • 后台管理系统-4-vue3之pinia实现导航栏按钮控制左侧菜单栏的伸缩
  • 机器学习——线性回归
  • 平滑方法(smoothing)
  • Python-深度学习——pytorch的安装
  • 开源 Arkts 鸿蒙应用 开发(十八)通讯--Ble低功耗蓝牙服务器
  • VSCode匹配删除多行注释