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
相关推荐
一只大袋鼠4 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
我叫张小白。11 小时前
Git 分支管理与团队协作
git
DogDaoDao12 小时前
Windows 下 Git 报错:`touch` 无法识别 —— 原因分析与 7 种解决方案(从入门到精通)
windows·git·程序员·npm·powershell·cmd·touch
caicai_xiaobai12 小时前
Ubuntu上Git安装步骤
linux·git·ubuntu
come1123413 小时前
git 区分是 Git 分支还是 worktree 路径名
git
憧憬成为java架构高手的小白14 小时前
git多人工作之个人规范使用【ai+个人理解】
git
CVer儿14 小时前
git简单操作
git
Andya_net14 小时前
Git | Git 核心命令深入解析:从原理到实战
大数据·git·elasticsearch
wh_xia_jun15 小时前
给小白的 Maven 命令行执行测试 完整指南
git·maven·intellij-idea
专业白嫖怪16 小时前
H3C UniServer R4950 G5 服务器压测实战:13根内存条24小时压力测试全流程
git