2013-07-17 130 views
0

在開發分支(newstuff)上工作時,我遇到了一種情況,我必須從我的(主)後面的提交中分支一個臨時修訂(quickfix)並將其推送到服務器。git如何合併單個提交中的新更改到另一個分支?

這很簡單,工作正常,以便服務器運行quickfix分支。

我的問題是如何將所有更改(newstuff + quickfix)重新合併到master中,而不會遇到合併衝突。

不知道我是否應該做一個櫻桃選擇,或合併,並以什麼順序。

quickfix會更改一些尚未更改我當前(主)或我當前(newstuff)分支的行,因此quickfix中的實際更改不會導致任何合併衝突。

一張圖片可以幫助:我的git回購看起來像這樣(AAAAA是共同的祖先)

aaaaa 
bbbbb --> xxxxx <== quickfix 
ccccc <== master 
ddddd 
eeeee 
fffff 
ggggg <== newstuff 

回答

1

就合併它們以任意順序

# v1 
$ git checkout master 
$ git merge quickfix 
$ git merge newstuff 

# v2 
$ git checkout master 
$ git merge newstuff 
$ git merge quickfix 
0

在你想要一些提交這樣的情況下,被添加/推送到主人,你可以去挑選櫻桃。

它會允許你添加只有這是有用的提交。

AFAIK,您可以執行以下命令:從測試/的quickfix分支

  • git checkout master(切換到主分支
  • git cherry-pick <commit ID>(只拿起那個承諾要採取ID)
  • git log(要檢查特定提交ID是櫻桃採摘或不。

檢查了這一點,它可能工作。:)

相關問題