git rebase 用法
在开发中经常需要基于一个分支来创建子分支,然后在子分支上进行开发,最后验证功能无问题才会将子分支合并到主分支上去。将子分支合并到主分支上一般有两种方案,分别为:
git merge
:这种合并会在对应的主分支上产生合并的提交,以及对应子分支的提交情况。git rebase
:这种合并是变基的操作,相当于将子分支的 commit 直接提交到主分支上,此时主分支上不会有合并记录和对应子分支的提交情况,看起来比较清爽。
现将子分支 dev
的代码以git rebase
的方式合并到主分支 main
上且不要留下合并的记录,此时相当于将子分支的所有 commit 提交到当前的主分支上。如下:
B
, C
为主分支上的提交,D
, E
为子分支的提交,现在要将子分支的两笔 commit 合并到主分支上。
初始时状态:

对子分支 dev 进行git rebase
之后,子分支的 commit 就被合并到主分支上,此时主分支的提交记录如下图所示:

git rebase
流程
# 1. 切换到主分支 main 上,其它分支的代码将被合并到该分支上
git checkout main
# 2. 变基操作,对子分支 dev 进行变基操作,相当于将其所有的 commit 都提交到主分支(当前所在的分支)上去
git rebase dev
# 3. 变基操作成功后,此时主分支上的代码选哟推送到远程代码仓中
git push
【注意事项】
git rebase
的分支是基于目标分支进行创建的。git rebase
可能会遇到冲突需要解决
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!