如何基于含最新提交的分支创建新分支?Bitbucket操作异常求助
问题根因
出现该问题通常有两个原因:一是你在Bitbucket网页端创建B分支时,选择的源分支提交不是A分支的最新版本;二是你的本地仓库未提前拉取A分支的最新远程提交,导致检出的B分支基于本地旧版本的A创建。
解决方案
方案1:B分支尚未产生任何新提交(优先选择)
直接将B分支重置到A分支的最新提交即可,操作步骤如下:
- 切换到本地A分支,拉取远程最新提交
git checkout A git pull origin A
- 切换回B分支,执行硬重置(注意:硬重置会清除B分支上所有未提交、已提交的改动,确认B无自定义修改后再操作)
git checkout B git reset --hard A
- 若需要将同步后的B分支推送到Bitbucket远程仓库,执行强制推送(确认远程B分支无其他人正在使用再操作)
git push -f origin B
方案2:B分支已有新提交,无法直接重置
通过合并操作将A分支的变更同步到B分支,不会丢失B的原有提交:
- 先拉取A分支的最新远程提交到本地
git checkout A git pull origin A
- 切换到B分支执行合并操作
git checkout B git merge A
- 若合并过程中出现代码冲突,手动解决冲突后执行提交,再推送到远程即可
git add . git commit -m "merge A branch changes to B" git push origin B
后续避坑提示:在Bitbucket网页端创建新分支时,「创建来源」的下拉选项需明确选择对应源分支(即A分支),同时确认分支后显示的提交哈希为最新版本,再确认创建,即可避免分支内容不同步的问题。
内容的提问来源于stack exchange,提问作者EshgheCode
相关产品推荐
相关产品推荐

