2013-10-18 34 views
6

我分叉了一個GitHub項目,實現了一些功能,並在單獨的分支中修復了一些bug,併爲它們發送了請求。讓Git分支保持最新狀態,等待它們合併到上游

在等待它們被接受到上游時,我想要使用所有這些功能和修復程序。爲此,我從'upstream/master'創建了一個分支「my-master」,併合並來自尚未處於上游的其他分支的所有更改。我還在README.md中寫入了一個應用補丁列表。

當我的某個補丁進入上游時,沒有理由繼續保留該分支,因此我將其刪除。

它的工作原理,但是,在這裏有這樣的做法有問題:

不時,我需要重訂我所有接受的分支機構,讓他們及時更新。之後,我必須重新創建'我的主'分支並再次更新其README.md。

有沒有一種方法可以加快或自動化呢?

請不要勸我去嘗試git-up。這是有用的,但做了不同的事情。

+1

我不是跟隨爲什麼你需要重新綁定你所有的不接受的分支。你能澄清嗎? –

+1

這是一個工作流程問題。爲什麼你需要重新創建你的「我的主人」分支?在你做本地分支到分支合併之前,你是否保持你的分支與遙控器保持最新? – Jake

回答

1

一種技術是在每次發佈版本時將分支重新綁定到上游。您可能希望在舊分支提示或舊版本分支名稱中創建標籤,以便在垃圾回收後不會丟失舊的歷史記錄。

或者您可能想要使用msysgit使用的合併rebase腳本https://github.com/msysgit/msysgit/blob/master/share/msysGit/merging-rebase.sh,該腳本創建了與上述重新綁定過程等效的持續開發線(通過第二個父級)的印象。

在這兩種情況下,如果您的基準修復(來自衝突)最終都有問題,那麼您將保留一套您感到滿意的提交。

這涉及兩個問題:

  1. 上游更新緩慢(相對於你想要的速度/需要)
  2. 上游是針對不同的「平臺」,你會總是需要修復「爲了您的平臺/目的,「頂級」。
相關問題