Git如何将远端develop分支V16修改同步到基于V12创建的本地feature分支
Git分支同步操作指南
有两种常用操作方案,可根据你的使用场景选择:
方案1:变基(rebase),适合想要保持分支提交记录干净的场景
适用于feature/MyBranch是你个人专属开发分支、没有其他同事同时在上面提交代码的情况
- 首先切换到本地
project/develop分支,拉取最新远端代码,确保本地版本已经更新到V.16:
git checkout project/develop git pull origin project/develop
- 切换回你的特性分支:
git checkout feature/MyBranch
- 执行变基操作,将
project/develop的所有改动同步到当前分支:
git rebase project/develop
- 若执行过程中提示冲突,逐文件手动解决冲突后,执行以下命令继续变基流程:
git add <冲突解决后的文件名> git rebase --continue
如果中途想要放弃本次变基,可以执行git rebase --abort回到操作前的分支状态
- 变基完成后,你的分支提交链路会变为线性结构:
V.11 -> V.12 -> V.13 -> V.14 -> V.15 -> V.16 -> 你原本在feature/MyBranch上的所有提交
注意:如果
feature/MyBranch之前已经推送到过远端仓库,变基完成后需要加-f参数强制推送更新远端分支:git push origin feature/MyBranch -f
方案2:合并(merge),适合多人协作的公共特性分支场景
适用于feature/MyBranch有多个同事同时开发、不想修改原有提交历史的情况
- 同样先更新本地
project/develop分支到最新的V.16版本:
git checkout project/develop git pull origin project/develop
- 切换回特性分支执行合并操作:
git checkout feature/MyBranch git merge project/develop
- 出现冲突时逐文件解决所有冲突后,执行提交命令完成合并:
git add <冲突解决后的文件名> git commit
- 合并完成后直接正常推送到远端即可,不需要强制推送:
git push origin feature/MyBranch
该方案会生成一个额外的合并提交节点,不会修改原有提交的哈希值,也不会影响其他协同开发人员的本地分支状态。
内容的提问来源于stack exchange,提问作者A.Pissicat
相关产品推荐
相关产品推荐

