2015-11-07 165 views
3

我們正在學習Git,我們正在使用GitHub作爲我們的託管網站。是否有可能在公關提交之後壓縮Git提交,然後提交更改?

我們都叉子upstream回購和PR我們提交長達upstream讓我們改變。

我們正在努力學習如何壓扁我們提交保持上游提交歷史漂亮和乾淨(ISH) 。

,如果我們提交pull請求我們經常犯:)

所以... ..然後該項目的維護者則在提交(即做PR的代碼審查)添加評論...該然後開發人員將修復這些問題並再次提交他們的提交。

是否有可能擠壓這些提交,所以PR只有一個提交? GH中的評論會發生什麼(針對這個PR)?

回答

0

您將不得不git push --force(在rebase squash local之後:選擇第一個提交,在其他提交中放置一個「s」標記)。

但PR仍然有效。它的相關歷史記錄將被剛剛推送的一個更新(這裏是一個壓扁的提交)

這些命令是誰執行的?提交公關/額外提交的人?還是評論員?

叉的所有者按需要推送儘可能多的時間:註釋不會被銷燬,並且實際上會成爲壓扁提交的一部分。
以前PR部分的提交將被標記爲「過時」,取而代之的是您剛剛推送的新提交。
維護者將能夠合併壓扁的歷史。

0

壓扁一起提交:

git rebase -i upstream/master 

-i將激活交互模式,您將能夠決定每個提交,如果你想與其父(稱爲「修正」)壓扁它,或者如果您想編輯提交消息(稱爲「reword」),或者您想要在提交中添加/刪除/更新文件(稱爲「編輯」)。

後您完成墊底,你將不得不力推:

git push -f 

不過,我認爲這會破壞在PR審稿意見。

+0

如果評論者評論被破壞,我並不擔心......所以沒關係。誰做這些命令?提交公關/額外提交的人?還是評論員? –

+0

任何對叉具有推送權限的人。 – wil93