2013-02-25 70 views
1

我是Git的新手,剛剛負責處理構建和發佈。推送更改以掌握並更新下一發布分支

我們有一個名爲2.15的遠程分支。大約兩週前,其他人創建了名爲2.16的遠程分支;但是,自那時起,我們已經將其更改爲2.15。

今天是發佈日期,所以我需要將2.15的所有更改發送到「主」,然後將它們拉到2.16。

我一直在尋找正確的方法來做到這一點,但我對自己的答案沒有信心。我想也許我可以這樣做:

git checkout 2.15 
git pull origin 2.15 
git push origin master 
git checkout 2.16 
git pull origin master 

我關閉了嗎?

回答

3

您需要合併2.15master2.16然後推送這兩個分支。你的命令是錯誤的,你需要像

git checkout master 
git merge 2.15 
git checkout 2.16 
git merge 2.15 
git push origin master 2.15 2.16 

當然,你需要檢查合併是正確的,可能前推測試結果。

+0

謝謝。這似乎奏效了,而且一旦我看到答案就有意義了;不過,我確實有一個後續問題。最後一行的意義是什麼?這與推動master,2.15和2,16分別是一樣的,還是建立了一種git遵循的「上游」命令 - 或者其他什麼?想確保我完全理解。 – 2013-02-26 02:49:49

+0

@勞倫斯H。不,這與單獨推送它們相同 – wRAR 2013-02-26 11:15:50

1

我建議你先確保你的本地2.15和主分支包含從遠程回購所有的變化: -

git checkout master 
git pull origin master 
git checkout 2.15 
git pull origin 2.15 

我想你還沒有本地2.16分支,讓我們創建它匹配遠程brancb: -

git checkout -b 2.16 remote/2.16 

然後,假設你想在主 2.16的變化,合併從2.15變爲2.16使用: -

git merge 2.15 

然後在掌握合併2.16(現在也含有2.15): -

git checkout master 
git merge 2.16 

最後推動所有這些變化對您的遠程回購: -

git push origin master 
git push origin 2.16 
git push origin 2.15 
+0

感謝您提供有關確保事物是最新的提示。我發現了一個「修補程序」,在2.15應該完成之後,我的老闆在5個小時內投擲了一個「修補程序」。這不是問題,但由於提醒,這個過程變得更加順暢。其他一切似乎都是現成的,儘管我遵循了實際分辨率的@wRAR步驟。 – 2013-02-26 02:53:38