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
相关推荐
mmsx15 小时前
使用git生成ssh的ed25519密钥
运维·git·ssh
荔枝吻15 小时前
【保姆级喂饭教程】Git图形化客户端Sourcetree安装及使用教程
git·sourcetree
T - mars1 天前
Git在Pycharm中的使用
git
sunarmy1 天前
curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104
git
典学长编程1 天前
高效学习之一篇搞定分布式管理系统Git !
大数据·git·搜索引擎
是2的10次方啊1 天前
.gitignore失效自救指南:原理揭秘与工程师实战排查全流程
git
海外空间恒创科技1 天前
香港站群服务器与普通香港服务器对比
服务器·git·github
Wetoria1 天前
管理 git 分支时,用 merge 还是 rebase?
前端·git
泰勒朗斯2 天前
如何在新机器上设置github完成内容git push
git·github
小妖6662 天前
git branch -a 还有一些已经删除了的分支
git