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

Cherry-pick冲突与Git回滚

1. Git 回滚(适用于代码层面)

如果你的 UAT 环境是通过 Git 管理的(比如 release/uat 分支),可以通过以下方式回滚:

方法 1:git revert(推荐,保留历史记录)
# 找到要回滚的 commit(如 1724ab7442)
git log# 回滚特定 commit(生成一个新的反向 commit)
git revert 1724ab7442# 推送到远程
git push origin release/uat

在 Git 中,如果你希望在 cherry-pickmerge跳过某个文件的修改,可以使用以下几种方法:

如果只想 cherry-pick 部分文件
1. 检查当前冲突状态
git status

你会看到类似这样的输出:

Unmerged paths:(use "git restore --staged <file>..." to unstage)(use "git add <file>..." to mark resolution)both modified:   src/modules/srm/router.js

这说明 router.js 有冲突未解决。

2. 解决冲突
方法 1:手动解决冲突
  1. 打开冲突文件 src/modules/srm/router.js,找到 <<<<<<<=======>>>>>>> 标记的冲突部分。
  2. 手动修改文件,保留你想要的代码,并删除冲突标记。
  3. 标记冲突已解决:
git add src/modules/srm/router.js
3. 继续 cherry-pick

冲突解决后,继续执行:

git cherry-pick --continue
4. 如果只想 cherry-pick 部分文件

如果你想跳过 router.js,只提交其他文件的修改:

  1. 先解决冲突(按上述方法)。
  2. 重置 router.js 到原始状态:
git reset src/modules/srm/router.js  # 从暂存区移除
git checkout src/modules/srm/router.js  # 恢复文件到 HEAD 状态
  1. 提交剩余文件:
git commit -m "cherry-pick 7c5330430b, 跳过 router.js"
如果只想保留其中一个提交,可以这样修改
# 1. 确保当前在 feature/20250723_ex_heshuang1_prod 分支
git checkout feature/20250723_ex_heshuang1_prod# 2. 启动交互式变基(修改最近2个提交)
git rebase -i HEAD~2# 3. 在编辑器中修改:
#    将第二个提交的 `pick` 改为 `drop`(或直接删除该行)
pick 8a7a6bb feature: 新增用户失效校验
drop bcb6b01 Revert "feature: M3和M4指标明细增加事业部和品类"# 4. 保存退出(Vim中按`:wq`)
# 5. 强制推送到远程(需权限)
git push origin feature/20250723_ex_heshuang1_prod --force
http://www.xdnf.cn/news/1371583.html

相关文章:

  • Nginx Ubuntu vs CentOS 常用命令对照表---详解笔记
  • 手机移动代理IP:使用、配置、维护的10问10答
  • 数据集数量与神经网络参数关系分析
  • 如果 我退休了
  • 身份管理与安全 (Protect identities)
  • Firefox Relay 体验
  • Java大厂面试实战:从Spring Boot到微服务架构的全链路技术解析
  • RCC_APB2PeriphClockCmd
  • GaussDB 数据库架构师修炼(十八) SQL引擎-计划管理-SPM
  • 18、移动应用系统分析与设计
  • 机器人 - 无人机基础(6) - 状态估计(ing)
  • 余承东:鸿蒙智行累计交付突破90万辆
  • 算法-每日一题(DAY15)用队列实现栈
  • 算法练习——26.删除有序数组中的重复项(golang)
  • Swift 解法详解 LeetCode 363:矩形区域不超过 K 的最大数值和
  • Spring Bean 生命周期高阶用法:从回调到框架级扩展
  • Java基础第5天总结(final关键字,枚举,抽象类)
  • CVPR自适应卷积的高效实现:小核大感受野提升复杂场景下图像重建精度
  • vue新增用户密码框自动将当前用户的密码自动填充的问题
  • 高校党建系统设计与实现(代码+数据库+LW)
  • 嵌入式配置数据序列化:自定义 TLV vs nanopb
  • 深度学习篇---LeNet-5
  • 1Panel命令
  • 100种交易系统(6)均线MA识别信号与杂音
  • 深度学习----由手写数字识别案例来认识PyTorch框架
  • Python实现RANSAC进行点云直线、平面、曲面、圆、球体和圆柱拟合
  • Il2CppInspector 工具linux编译使用
  • 设计模式之命令模式
  • Vuex 和 Pinia 各自的优点
  • Linux之SELinux 概述、SSH 密钥登录、服务器初始化