2013-08-19 96 views
22

我有一個分支,我正在做單獨的更改。其他隊友在幹線上進行更改。情景是,現在我想給一個版本包括主幹更新+我的分支更新。由於我還沒有完成完整的模塊,我不想將分支合併到主幹。相反,我想從trunk中創建另一個新分支,然後將我的分支更改合併到該新分支。 這樣我就可以用新的分支完全更新我的分支更新+最新的主幹更新合併兩個分公司使用烏龜SVN

我使用烏龜SVN合併,這是我做過什麼:

比方說,在後備箱有一個新添加的文件:A,這是不是我的分支有。所以新創建的分支也有文件A.(我使用合併選項:「合併兩棵不同的樹」)我去新的分支文件夾,並將該分支URL給[FROM]字段,並給我的分支URL爲[ TO]字段。當我進行合併時,它從本地副本中刪除該文件。顯然我所理解的是,合併將新的分支狀態帶到我的分支狀態,而不是集成這些更改。

我想要的是將我的分支更改合併到新分支,而不會丟失新分支所具有的最新更改。這樣我可以擁有新的分支:最新的主幹修改+我的分支更改。

如何做到這一點?

+0

這是您當前的svn,(trunk == newbranch)。現在你想合併你的工作分支(你知道具體修訂版(200到266和290,293)需要合併。請問confim是進一步進行的前提條件嗎? – Ashif

+0

是Olive。我想合併我的分支作品到新的分支,這是一個主幹的精確副本,請一步一步地提到這樣做 –

回答

2

我會從主幹創建一個新的分支比通過新的分支合併你的分支合併一個版本範圍的。因爲新分支更新都應該正常工作。

+0

是的Micha,這是我最初的做法,但因爲樹枝在更新,而我在我的分支進行了開發,所以沒有根據我的理解,如果主幹沒有更新,而我的分支工作,那麼這種方法工作正常。 –

+0

應該工作,無論是否更新幹線,因爲已知的svn關係。是的,你可以接受衝突,但基本上它應該工作。在我重返在主幹分支合併我的更新形式軀幹分支比分支(新功能)在行李箱中。這有助於我解決很多衝突。 – Micha

46
Perform fresh checkout of your repository 
Precondition:(Suppose your repository name: Team) 
1. You have trunk(Main Dev) 
2. You have branch (Your changes) 
3. Create say "newbranch" from trunk.[ TortoiseSVN->Branch/tag][ Picture1 }Note:Select Head revision 

enter image description here

4. Perform svn Update inside "Team"->So newBranch is updated.[picture2] 

enter image description here

5. Now, select newbranch and merge[Tortoisesvn->Merge][Picture3] 

enter image description here

6. Select default "Merge a range of revision", to select revisions which you only intrested to merge.[[Picture4] 

enter image description here

7. Click, showlog to select required revisions you intrested on[picture5] 

enter image description here

Finaly merge is completed[picture6] 

enter image description here

**注:如果衝突遇到,然後手動合併衝突修訂。

+1

完成後QA如何合併「newbranch」回「主幹」? – bsobaid

+0

你需要首先使用「合併範圍的修改」選項,從樹幹的所有修改合併到你的分支,然後,一旦你這樣做,你「合併兩個不同的樹」,選擇你的軀幹爲「從」和分支作爲你的'to'版本。 – keithl8041

+0

很好的答案。 「newBranch」不應該在**分支**嗎? :) –