2016-04-26 91 views
0

我从github分叉了一个仓库,在本地分支做了一些改变,提交了一个pull请求,并且请求已被接受。现在仓库我从分叉看起来像这样: ... -> (commit) (merge_my_fix_commit [master]) -> (my_fix_commit) ->拉取请求被接受后,本地fork不提取合并提交?

其中my_fix_commit是犯我,我拉的要求提交,merge_my_fix_commit是提交了提交人合并。

的问题是,我的叉子的历史遗存正是因为拉请求被接受前: ... -> (commit) -> (my_fix_commit)

制作git fetch --all不取merge_my_fix_commit。这应该是这样吗?我应该怎么做才能让我的货叉历史看起来与原始仓库完全一样?

回答

0

这是预期的行为,您的分叉不应该更新。拉请求适用于上游回购,而不适用于分叉。

您可以做的是向您的回购商添加第二台遥控器,例如upstream,指向原始回购商品(git remote add upstream https://github.com/<original_user>/<repo>.git)。取回它(git fetch upstream或只是git fetch --all)并重新将更改推送到您的分叉。该过程详细描述为herehere

+0

我已经将原始库添加为远程。在我将github fork添加为远程程序之前,我确实这样做了。无论如何,使'git fetch --all'打印:'获取源...获取myfork ...'但仍然没有合并提交的迹象。 – Monfico

+0

@Monfico,你如何看待回购?例如。你应该使用'gitk --all',而不仅仅是'gitk'来查看变化,你还没有应用。另外,你可以尝试直接在你的本地主服务器上用'git checkout master && git merge --ff-only upstream/master'合并新提交,结果如何? – madhead