git rebase处理多次commit的合并

1.使用背景

    在开发中,开发者可能对于某个功能的代码提交了多次,当需要将多个提交的commit合成一个commit的时候,就需要用到git rebase,俗称"变基"

2.实现方案

①git log 查看多次提交历史

git log

现在需要将最近3次提交合并为一次提交

②git rebase -i HEAD~3 或 git rebase -i commitHash (commitHash是commitId,是需要合并的commit的前一个commit节点的ID),这里表示上图中标识下划线的commitId

git rebase -i HEAD~3
或
git rebase -i  bbdaa4254da0093740b4adbfe336c8c5d9fdbfdd

 ③将pick改为s或squash,然后保存退出

 pick:简写p,表示启用该commitId

 reword:简写r,使用该comitId,但是修改提交信息,修改后可以继续编辑后面的提交信息

 edit:简写e,使用该commitId,停止合并该commitId

 squash:简写s,使用该commitId,并将该commitId并入前一个commitId

 drop:简写d,移除该commitId

④添加最新合并的提交注释(之前的可以删除),然后保存退出

出现以下效果则说明变基成功

再看看变基效果图

 或更加暴力的方案

git reset commitId
git add .
git commit -m "xx"
git push -f

强制push,预防push过程中出现merge

发布了215 篇原创文章 · 获赞 375 · 访问量 97万+

猜你喜欢

转载自blog.csdn.net/zhangxing52077/article/details/88079773