Git如何基于master分支刷新已存在代码改动的feature特性分支?
Git 分支同步方案
前置准备
先确保当前feature分支的所有改动都已提交,避免代码丢失:
git add . git commit -m "暂存当前开发进度"
方案1:变基同步(推荐,提交记录更整洁)
适合后续需要向公共仓库提PR/MR、要求提交链路清晰的场景,操作步骤如下:
- 切换到本地master分支,拉取远端最新代码
git checkout master git pull
- 切回正在开发的feature分支
git checkout features/你的JIRA-ID
- 执行变基操作,将当前分支的所有提交移动到最新master的头部
git rebase master
冲突处理说明:如果执行后提示存在代码冲突,按提示修改所有冲突文件后,执行
git add 冲突文件名,再运行git rebase --continue即可,无需额外执行commit操作。如果中途操作混乱想要回退,执行git rebase --abort即可恢复到变基前的状态,不会丢失已有开发内容。
方案2:合并同步(更适合新手,操作门槛更低)
不需要修改原有提交记录,操作容错性更高:
- 同样先切换到master分支拉取最新代码
git checkout master git pull
- 切回feature分支后执行合并操作
git checkout features/你的JIRA-ID git merge master
冲突处理说明:修改完所有冲突文件后,执行
git add 冲突文件名,再运行git commit -m "同步最新master代码"即可完成操作。
两种方案都可以在不删除当前分支、不丢失已有开发内容的前提下完成同步,操作复杂度一致,可根据自己对提交记录的要求选择即可。
内容的提问来源于stack exchange,提问作者Raman
相关产品推荐
相关产品推荐

