Git Rebase时如何保留分支层级结构并同步关联分支?
Git变基后同步子分支的问题
当前你的Git分支结构如下:
A -- B -- C -- D -- E main \ F -- G -- H featureA \ I featureB
你执行git checkout featureA && git rebase main后,featureA成功变基到main的最新节点,但featureB仍停留在原来的G节点,没有同步移动到新的G'上。你期望达成的分支结构是:
A -- B -- C -- D -- E main \ F' -- G' -- H' featureA \ I' featureB
实现步骤
最简单直接的操作方式
- 切换到featureB分支:
git checkout featureB - 以变基后的featureA为基准,对featureB执行变基:
这个命令会把featureB上的提交I,重新应用到featureA的最新节点G'上,生成新的提交I',最终形成你想要的分支结构。git rebase featureA
关键注意事项
- 如果featureB已经推送到远程仓库,变基后需要用
git push --force-with-lease(比--force更安全,可避免覆盖他人未同步的提交)更新远程分支,同时要提前和团队成员沟通,确保他们同步更新本地分支。 - 变基过程中若遇到冲突,解决完冲突后执行
git add .,再运行git rebase --continue即可继续完成变基;如果不想继续,执行git rebase --abort就能回到变基前的状态。
内容的提问来源于stack exchange,提问作者xormapmap
相关产品推荐
相关产品推荐

