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

【git】误操作后怎么解决

步骤方案(推荐方法:cherry-pick 正确提交到新分支

① 回到主分支,创建新分支

git checkout main
git pull origin main        # 确保是最新
git checkout -b dev-clean   # 从 main 创建新分支在git checkout main之前,如果你目前的代码已修改但是未提交,可以用stash暂存
# 暂存所有未提交的修改(包括工作区和暂存区)
git stash save "暂存引擎配置修改(未完成)"  # 切换到main分支(暂存后,工作区 clean,无冲突)
git checkout main  # (后续回到dev-zyx分支时,恢复暂存的修改)
git checkout dev-zyx  
git stash pop  # 恢复暂存的修改,并删除stash记录
# 或 git stash apply  # 恢复但保留stash记录(需手动删除)

② 查看 dev 分支提交历史,找到“正确”的 commit ID

git log dev --oneline

记住你要保留的那些 commit 的 ID(比如 a1b2c3dh7i8j9k
③ 回到 dev-clean 分支,cherry-pick 正确提交

git checkout dev-clean# 按顺序挑选提交
git cherry-pick h7i8j9k
git cherry-pick a1b2c3d

如果中间有冲突,会提示你解决冲突,解决后继续:

git add .
git cherry-pick --continue

④ 成功后,你的 dev-clean 就是干净的分支,包含了 main + 正确的 dev 提交。

补充说明

  • cherry-pick:可以精确地将某些 commit 应用到当前分支,适合你现在这种“挑干净提交”的场景;

  • 不要直接修改 dev:否则历史就乱了,建议保留 dev 作为备份;

  • cherry-pick 时顺序很重要,按提交时间顺序来;

http://www.lryc.cn/news/603681.html

相关文章:

  • 【Android】日期选择器
  • GitHub下载项目完整配置SSH步骤详解
  • iOS-实用框架
  • go标准库log模块学习笔记
  • Gartner发布2025年数据安全技术成熟度曲线:29项最新数据安全相关技术发展和应用趋势
  • 2025-07-29 学习记录--LaTeX-LaTeX知识点总结
  • 从硬编码到自主智能体:营销AI的20年技术演进与未来展望
  • decoupleQ:通过将参数解耦为整数与浮点数,实现2比特后训练统一量化
  • AI搜索SEO优化解决方案指南
  • 基于Dify构建本地化知识库智能体:从0到1的实践指南
  • 6、微服务架构常用十种设计模式
  • elememtor 添加分页功能
  • Vant:轻量可靠的移动端 Vue 组件库深度解析
  • prometheus_client 调用统计
  • HBase、MongoDB 和 Redis 的区别详解
  • Ubuntu 抽取系统制作便于chroot的镜像文件
  • P1020 [NOIP 1999 提高组] 导弹拦截
  • 动态库示例
  • 代码随想录算法训练营第三十五天
  • BGP团体属性
  • MybatisPlus-20.插件功能-通用分页实体与MP转换
  • 【IQA技术专题】纹理相似度图像评价指标DISTS
  • AAA 与 FTP:网络认证授权及文件传输的原理与实践
  • 如何在 Ubuntu 24.04 或 22.04 Linux 上安装和运行 Redis 服务器
  • Redis的持久化策略-AOF和RDB(详细图解)
  • 广告投放数据与管理全解析:从数据解读到高效运营
  • ansible 使用更高版本的python版本
  • 设计一个高可用、可拓展、监控报警系统,使用普罗米修斯和grafana,并给出go实现
  • 第2章 cmd命令基础:常用基础命令(1)
  • SQL排查、分析海量数据以及锁机制