在不包含旧提交的情况下创建Github拉取请求

14

我在 GitHub 上 fork 了一个项目。我进行了一次提交并发起了拉取请求。这个提交被批准了。然后我又进行了第二次提交并发起了拉取请求。但是在拉取请求中,有两个提交:我的第二个提交和已经被批准的旧提交。我该如何同步我的仓库和主仓库?


2
如果您能够添加您的github存储库和上游github存储库的链接,人们可以在这里提供更全面的答案。(当然,如果您不想添加链接,我也理解。) - Mark Longair
1个回答

19

从上游仓库合并回来,或在新分支上创建新的拉取请求。

或在上游仓库顶部变基:

git remote add upstream (url-for-upstream-repository)
git fetch upstream
git rebase upstream/master
git push -f origin
(do new pull request on website)

如果您使用 -f 参数推送到现有分支名称,Github 将会看到该分支已被更新。如果没有更新成功,您可以使用 git push origin :branch_name 命令,然后再使用 git push origin branch_name 命令,这样拉取请求就会被更新。 - Jason Noble
1
Adam,你能否解释一下这些代码的每一行是做什么的吗? - Mars
添加远程仓库,获取有关远程仓库的信息,将远程更改合并到当前分支中,然后强制推送-f;--force:通常,该命令会拒绝更新不是用于覆盖它的本地引用的祖先的远程引用。此标志禁用了检查。这可能导致远程存储库丢失提交;请谨慎使用。 - phpguru

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接