git rebase 变基

场景:多人异步开发
目的:避免分支交叉
状况:功能完成向目标分支push时失败,因为有别人的代码在我push前已push完成,导致目标分支超前于我本地分支,此时应该pull新代码到本地,并解决冲突,使本地超前于目标再次发起推送。由于merge的关系,目标分支的提交路线会出现分叉
此时可以使用rebase,保持目标分支的清洁

// 表示以现有的 origin/dev 分支为基础,将新的提交置于其后
git rebase origin/dev 

结果:使用rebase后,dev的提交记录保持一条直线

rebase过程中难免遇到冲突
遇到冲突会中断rebase过程,此时解决冲突

执行
git add .
git commit '描述'

然后继续rebase,执行
git rebase --continue

如果遇到与自己无关的代码
使用

git rebase --skip // 跳过与自己无关的冲突

如果误操作或单纯的只是想要取消rebase

git rebase --abort // 在git push之前运行,否则一切都晚了

冲突解决完之后,亦或是没有遇到冲突

git push // rebase后,本地会超前远程,push将会覆盖远程分支的代码

如果push失败可以尝试强推

git push -f // 谨慎使用,强行推送,覆盖远程代码
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容