SVN:从分支创建分支并合并到主干

15
我们有一个名为B1的分支,由于其仍不稳定,因此它不在主干(trunk)中。但是我们想要使用来自B1的更改,因此我们从B1创建了一个名为B2的分支。
因此,svn复制如下进行:
svn copy http://svn/trunk http://svn/B1

svn copy http://svn/B1 http://svn/B2 

经过一些时间,B1将会变得稳定,并且B1将会被重新集成到主干代码中。

现在的问题在于将B2合并回主干代码。我们是将B2重新集成到B1中再将其与主干代码集成呢,还是直接将B1->主干代码和B2->主干代码进行集成?

2个回答

10

既然你说你创建B2只是为了获取B1中最新和最大的变化,那么从逻辑上讲,B2现在依赖于B1,所以我会这样做:

B2 ---重新整合分支-->主干
B1 ---重新整合分支-->主干

两个重新整合都可以先进行。

你必须确保将B2与任何新的主干或B1提交保持更新,然后在更新到B2时,可以选择如何处理任何冲突。

只要你这样做,你可以首先提交任何一个分支。你将能够在重新整合期间解决任何冲突。

当我分支时,即使是非常小的更改也会分支,这样我就有一个任务对应一个分支,并且可以按照需要独立地将它们重新整合到主干中...大多数情况下。


我们不关心隔离问题,但我们想要使用B1中的某些功能。在B2重新集成之前,B1可能会重新集成到主干。主干->B1,B1->B2,B1->主干,B2->?? - Alagu
请查看我的更新答案。?? 应该是主干。SVN 正在忙于跟踪所有内容,无论您首先重新集成 B1 还是 B2,如果存在冲突,则必须解决冲突。就像 @Grammin 的答案所说,“保持分支更新”。 - Doug Chamberlain

6

您可以直接将B2重新集成到主干中。但是请注意,不要太长时间没有合并或从主干中获取更新。


我应该从主干拉取更改吗? - Alagu
1
这取决于有多少人对主干进行更改,如果只有你和另一个人在主干上工作,那么你可能可以继续一段时间。只要确保不要太长时间没有更新,否则可能会因为有大量冲突而陷入困境。 - Grammin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接