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
相关推荐
zzqssliu4 小时前
煤炉自动代拍系统的队列设计与超时控制机制
git·github
一支绝命钩4 小时前
FPGA工程Git常用操作手册
git
不搞学术柒柒8 小时前
Git新功能完整开发提交流程
git
午安~婉12 小时前
Git中SSH连接
前端·git·gitee
888CC++13 小时前
VS Code Git 工作树:解锁多分支并行开发新体验
git
阿虎儿13 小时前
Git exclude 功能解析
git
隔窗听雨眠14 小时前
VS Code Git工作树:多分支并行开发的完整实践方案
git
^yi15 小时前
【Linux系统编程】快速上手git仓库管理,核心三板斧
git
郝同学今天有进步吗16 小时前
构建 LangGraph Code Review Agent(四):文件过滤与 AnalysisPackage 分包
git·python·ai·code review
胖大和尚1 天前
git本地实现local->remote推送
git