2014-02-26 55 views
2

我在我的GitHub庫中的一個接收拉入請求(有人想合併他們提交他們做了一個分叉庫)。爲什麼我不能摘櫻桃靠近拉要求在github

因爲我不喜歡在他們提交的東西,我希望通過推動這一掌握分支之前提交的另一個修改它們。

爲了做到這一點,我挑櫻桃的提交到我的主分支,然後做其他承諾固定的問題,然後又將其所有在GitHub上。

然而,這並沒有關閉拉請求,因爲我已經有他們在提交我的歷史,我不想點擊「合併」按鈕,因爲我不想莫名其妙地打破我的倉庫。爲什麼我不能使用櫻桃選擇來關閉這樣的請求?使用內部github的命令和手動櫻桃選擇合併2個存儲庫有什麼區別?

回答

1

您必須拒絕該拉取請求。

只能在它的方式合併。或完全否認。你不能選擇一些提交,並讓Git(和隨後的GitHub)認識到這是你的「合併」 - 事實並非如此。這是您的提交,可能看起來像其他提交,但基於不同的父提交。

的另一個選項是與拉請求者溝通,讓他們重新安排的東西,你喜歡的方式,然後合併。但是因爲你已經選擇了你喜歡的提交,現在已經過時了。

+0

是的,我有點理解這一點,但我櫻桃選擇了所有提交請求中的提交。如果我只挑選了部分拉動請求,那麼意識到這是不可能的。所以基本上,如果我這樣做了,我的提交歷史記錄(git log)在兩種情況下看起來都是相同的。這就是爲什麼我不明白,github在這方面看到了不同。 – Petr

+0

@Petr,這是因爲afaik GitHub不會將pull請求視爲傳統合並,這意味着您的櫻桃採摘不會被認爲是參與者發起的pull請求的一部分。 –

+1

這與GitHub無關,但與Git工作:如果你合併,你創建一個提交與兩個父母(每個分支的最後兩個提交)。當採摘櫻桃時,您的提交只有一位家長,並且該選擇從哪裏來的連接將丟失。此外,如果您不按照原樣使用選擇,則會更改每次提交的哈希ID。最後但並非最不重要的是:如果你挑選並提交一個不同的父ID,這個提交的哈希值也必須改變,即使代碼改變沒有改變。所以如果你想合併:合併。沒有替代。 – Sven