2014-02-18 106 views
0

我已經經歷了一次巨大的重構工作,並且希望將我的本地git分支(稱爲local_b)放入我的CM可以部署的臨時遠程分支在專門的質量保證環境中進行測試。但是,在進行一些測試之前,由於涉及到風險,我寧願不將它合併到本地分支跟蹤的最終目標遠程分支(稱爲official_b),即從中獲取其他開發人員的更改。在遠程發佈本地分支,但沒有將它合併到它跟蹤的遠程分支

是否有可能對我來說:

  1. 促進local_b到遠程(調用新的遠程分支test_b

  2. 保持當地的分行,跟蹤official_b與進入合併後的變化同步來自其他開發者

  3. 推送從local_b的所有更改(合併的更改從official_b +我的本地變化)分成test_b

所有在同一時間使用一些git噱頭?

回答

1

如果我沒有理解錯了,你希望把你的local_b分公司,並與official_b完成的改變更新。

對於推動當地分行遠程:

git push origin local_b:test_b 

以及更新分支:

git checkout local_b 
git rebase official_b 
# ... Fix possible conflicts 
git push origin local_b:test_b 
+0

同時跟蹤'local_b'到'official_b'和發佈'local_b'到'test_b' – amphibient

+0

@amphibient分支'local_b'和'official_b'是不同的。你不能跟蹤它,但是如果你想讓'local_b'有更改,更新從官方分支到你的'local_b'的更改有什麼不對? – Pigueiras

+0

是的,'local_b' ='official_b' +'我的變化'。我想你是對的,我可以從'official_b'獲取到'local_b',但從'local_b'推入到'test_b' – amphibient

1

我不明白爲什麼不能:

# Promote local_b to the remote (call that new remote branch test_b) 
git push origin local_b:test_b 

# Push all changes from local_b (official_b + my local changes) into test_b 
git push origin local_b:test_b # so yes, same command as earlier... 
相關問題