下面是问题:我从master
创建了分支branch-1
。
这两个分支也被其他用户更新。
现在master
有MC1,MC2commits,branch-1
有B1C1,B1C2commits(由我创建)。
已创建请购单,B1C1和B1C2合并到master。
在此之后,master
MC3中还有一些变化。
我把branch-1
和master一起重定了基。很成功git fetch
和git status
告诉你有发散分支。
现在,如果我从branch-1
远程执行git pull --rebase
。很成功
现在我把它们推到远程branch-1
,并通过创建PR进行检查。
PR显示B1C1',B1C2',**MC3'**为需要在master
中合并的提交。
这里应该做些什么才不会将这些提交视为新提交?
我知道我可以做git push -f
。
但如果远程branch-1
有来自其他用户的更改,则会出现问题。然后肯定我必须先做pull --rebase
,然后推。
1条答案
按热度按时间ruarlubt1#
不要换基地。该分支已经推式合并;在此之后进行rebase是一个非常糟糕的主意(正如您已经发现的那样)。
如果目标是沿着
master
将合并基移动得更高(并检查可能的冲突),只需将master
反向合并到branch-1
中即可。已经在master
上的提交将不会出现在PR中,因为它已经在master
上;它出现在rebase之后的原因是rebase用不同的提交替换提交。我强烈建议你永远不要说
git pull
,因为它是不确定的。说git fetch
,然后做你想做的任何事情。在这种情况下,它将是git merge origin/master
。我建议如果你有一个本地的
master
,你应该删除它。您需要使用master
执行的所有操作都可以使用origin/master
完成。