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

为何我的PR包含他人提交内容?Git技术问题求助

问题原因解析与确认

嗨,我来帮你把这个Git问题理得明明白白~

首先,你的PR里出现别人的工作,核心原因是你直接把远程master的变更合并到了自己的XXX分支,具体逻辑拆解如下:

  1. 初始状态:你从本地落后的master分支创建了XXX分支——这时候你的本地master还没同步远程master的新变更,所以XXX分支的起点是旧版的master,和远程master已经存在差异。
  2. 关键操作:你在XXX分支执行了git pull origin master,这个命令本质是git fetch origin master(拉取远程master的最新代码)加上git merge origin/master(把远程master的代码合并到当前的XXX分支)。这一步直接把别人提交到远程master的变更,合并进了你的XXX分支里。
  3. PR对比逻辑:当你创建PR时,Git会对比你的XXX分支和目标分支(也就是远程master)的差异。但因为你已经把远程master的变更合并到了自己的分支,Git会把这些不属于你工作的提交,也当成是XXX分支相对于远程master的“新增内容”,所以就一起出现在PR里了。

你的猜测方向是对的,但更准确的表述不是“PR基于本地master分支”,而是你的本地master落后于远程,且你错误地把远程master的变更合并到了自己的feature分支,导致分支里混入了别人的提交。

补充:正确的同步姿势(避免下次踩坑)

如果想让自己的分支基于最新的master,同时PR里只显示自己的工作,正确的步骤应该是:

  • 切换到本地master分支:git checkout master
  • 拉取远程master的最新变更,让本地master和远程同步:git pull origin master
  • 切回XXX分支:git checkout XXX
  • 用rebase或者merge把你的工作同步到最新master上:
    • 推荐使用rebase(让提交记录更整洁):git rebase master
    • 或者使用merge:git merge master

这样处理后,你的XXX分支只会包含你自己的工作变更,PR里就不会出现别人的内容啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:53:14