2016-04-26 92 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