在github上提取请求 - 显示从master重新提交的提交

Hsi*_*Dai 14 git github

我正在与一个团队合作,我们正在进行功能分支和拉取请求.

我创建了一个分支,对它进行了一些工作,同时也对master做了很少的工作.

然后,我将分支重新对抗主人.现在我想做拉取请求.

但是,在GitHub中,pull请求显示了我第一次创建分支和现在之间发生的所有提交 - 我在此功能分支上执行的提交,以及在两者之间发生的提交.

这是嘈杂的混乱 - 我做错了什么?我希望pull请求只显示我所做的提交,因为其他提交已经在master和我的分支上,没有区别.

我看到的唯一建议就是根据最新的上游主人和樱桃采摘提交另一个分支.

Tom*_*cia 12

我曾经遇到过同样的问题:

如果我们有foo分支,分支master,已经被推入origin,并且在两个分支上都进行了更改,那么在合并/重新定位后,我从masterPull Request的差异中获得了更改.

我通过git fetch先执行,更新我的本地master分支,将本地分支更改为foo然后执行命令来解决它:

git rebase master

git push -f origin foo:foo

这是强制远程分支,然后PR的差异仅包含适当的更改,就像基于最近创建分支一样master.


Sto*_*ica 4

你肯定做错了什么。作为变基的结果,您应该只拥有 master 中最后一次提交之后的唯一修订,并且您的分支应该准备好快进。

我现在做了一个快速测试,当然,拉取请求仅显示了预期的唯一修订。不应该有喧闹的杂乱,也不需要挑选。您的分支机构似乎有问题。

尝试再次变基。如果您之前正确地重新设置了基础,那么现在这应该是一个 NO-OP。检查你的分支,并尝试在 master 之上再次变基,如下所示:

git checkout yourbranch
git rebase master
Run Code Online (Sandbox Code Playgroud)

这应该打印Current branch will-have-rebased is up to date.,并且在将分支推送到 GitHub 后,您应该能够创建一个仅显示唯一提交的拉取请求。我不明白为什么不。

重要提示:请记住,如果您在变基之前推送了分支,那么 Git 将在变基拒绝再次推送。这是因为一般来说你不应该重写公共分支的历史,所有关于变基的指南都解释了这一点。如果您无论如何都想推送该分支,并在 github 上重写其历史记录,请添加该--force标志。