You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将master分支变更拉取到旧分支?Bitbucket PR引入他人代码问题

解决方案

方法一:使用 Rebase 同步(推荐,提交历史更整洁)

  1. 先确保本地 master 是最新版本:
    git checkout master
    git pull origin master
    
  2. 切回你的旧分支(假设分支名为 old-branch):
    git checkout old-branch
    
  3. 将 master 的变更重放到旧分支上:
    git rebase master
    
  4. 如果遇到冲突,先手动修改冲突文件,然后执行:
    git add .
    git rebase --continue
    
    要是中途想放弃这次 rebase,执行 git rebase --abort 即可。
  5. 因为 rebase 修改了提交历史,需要安全地强制推送到远程:
    git push origin old-branch --force-with-lease
    
    (--force-with-lease 比直接 --force 更安全,能避免意外覆盖他人在该分支的提交)

方法二:使用 Merge 同步(保留原提交历史)

如果不想修改旧分支的提交历史,可以用 merge:

  1. 同样先更新本地 master:
    git checkout master
    git pull origin master
    
  2. 切回旧分支:
    git checkout old-branch
    
  3. 合并 master 的变更到旧分支:
    git merge master
    
  4. 解决冲突后,提交合并结果:
    git add .
    git commit  # 若Git自动生成合并提交信息,直接保存即可
    
  5. 推送到远程:
    git push origin old-branch
    

为什么你之前的操作没生效?

你设置 pull.rebase true 只是改变了当前分支拉取自身远程变更时的行为,但并没有主动把 master 的变更合并到旧分支里。要同步 master 的内容,必须主动执行 rebase 或 merge 操作,而不是单纯拉取旧分支自己的远程更新。

之后每次要在旧分支工作前,重复上述更新 master 再同步的步骤,就能避免PR里引入他人未同步的工作内容了。

内容的提问来源于stack exchange,提问作者snakewilliams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 18:40:58