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
相关推荐
Winlifes3 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理3 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123453 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s4 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
玄芯散人5 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人5 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理
荔枝梅梅5 天前
新手程序员 SSH 第一课:从 Git 仓库连接失败理解 SSH 协议与密钥配置
git
玄芯散人5 天前
【筑基·057】Git代码时光机:版本控制入门到分支管理
git·版本控制·嵌入式开发
szephyr5 天前
Git 分支管理实战:feature/release/hotfix 怎么用才不乱
git·分支管理·团队协作·工作流·hotfix
一木 之林5 天前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器