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

git合并多次commit提交

首先查看历史记录

git log

查看你想要合并的commit是哪些(注意:这里是逆序,最上的是最新提交) 

 找到当前想要合并的最后一个记录,复制该记录的下一个记录的 id(黄色部分commit id),含义就是选取该id上面的所有commit记录(不包含该id的记录)

q 退出记录(log)查看

开始rebase 

git rebase -i 1304a3905913b612bd4116c43a4144432882d66c

进入vim编辑器,输入 i 进入编辑,修改pick字段(变为顺序,底下是最新提交记录),将你要合并的记录的 pick 修改为 squash 或者 s注意:第一个pick不能修改),如果你还想改commit,可以对应的去改

 编辑好后按 Esc 退出编辑,然后按 :wq 进行保存

如果有冲突需要手动去修改,修改好了后

git add .

然后继续rebase

git rebase --continue

(如果不想rebase了,或者想重头再来,可以输入取消)

git rebase --abort

 

接下来会进入另一个vim编辑器,同样按 i 进入编辑,把不要的commit在前面加 # 注释掉

完成后按 Esc 再按 :wq 保存

 

 rebase完成之后,强制推送(注意:这里最好是自己的分支或者用其他非重要分支测试一下, 一定要强制推送,不然不生效)

git push -f origin xxx

相关文章:

  • CentOS:搭建国内软件repository,以实现自动yum网络安装
  • JUC高并发编程
  • 自动化软件如何确保高可用性和容错性?
  • 云蝠智能大模型呼叫动态情感共情能力上线!
  • 大语言模型 17 - MCP Model Context Protocol 介绍对比分析 基本环境配置
  • 双活数据中心解决方案
  • 如何在Java中处理PDF文档(教程)
  • :-1: error: msvc-version.conf loaded but QMAKE_MSC_VER isn‘t set错误原因及解决方法
  • WSD3043 MOSFET 在吸黑头仪中的应用
  • #Redis缓存篇#(七)分布式缓存
  • 基于大模型的全面惊厥性癫痫持续状态技术方案
  • 1.4 C++之运算符与表达式
  • 分类算法 Kmeans、KNN、Meanshift 实战
  • 从 0 到 1:用 Trae 插件 Builder 模式开发端午包粽子小游戏
  • 权限控制相关实现
  • 基于Flink的数据中台管理平台
  • 制作一款打飞机游戏53:子弹样式
  • 破解充电安全难题:智能终端的多重防护体系构建
  • Token类型与用途详解:数字身份的安全载体图谱
  • 项目中Warmup耗时高该如何操作处理
  • 国际锐评丨美妄图扼杀“中国芯”过去没得逞,将来更不可能
  • 中国船舶:手持订单已排期至2029年,吸收合并中国重工正在推进中
  • 美媒:鲁比奥称特朗普不出席二十国集团领导人会议
  • 失智老人有两个儿子却欠费住养老院两年多,法检合力指定监护人
  • A股高开高走:宠物经济走强,超3800股收涨,两市成交超1.1万亿元
  • 大语言模型在线辩论说服力比人类辩手高出64%