2010-05-26 97 views
1

如果您创建了一个分支并且正在使用该分支中的文件,那么当您更新它时,它是否将分支中的代码更新/合并到trunk中的代码?Subversion分支问题

此外,当您将更改提交给分支后,如何使用更改更新主干? (因为你提交更改,并有再次切换到主干?)

任何评论都将赞赏:)

感谢,

回答

2

当你在一个分支工作时更新你的工作文件夹,您'正在使用该分支中的新更改从存储库中更新,而不是从主干中更新。

因此,除非其他人与你一起在分支机构工作,否则更新将不会执行任何操作。

要将更改重新放回主干(或将干线更改到分支中),您需要使用合并操作。

您可以在chapter 4. Branching and Merging下的颠覆红皮书中阅读更多关于分支和合并的内容。

+0

在合并分支时,还要为自己的痛苦做好准备,当您切换分支或合并时,颠覆可能会变得有点荒唐。 – Ceilingfish 2010-05-26 14:00:47

+0

感谢您的回复和链接:)当您使用合并选项时,是否像更新分支和修复冲突等一样简单? – Theomax 2010-05-26 14:05:56

+0

那么,“直接前进”,是的,这是这些操作,如果你完成分支(或者希望做一个半释放的更改),则将分支合并到主干中,或者如果你愿意(例如,如果您依赖于特定的错误修正),但是否是“直截了当”,则完全取决于您遇到的冲突次数。只要确保你的工作副本没有任何无法改变的地方,如果你陷入困境,更容易恢复并重试。 – 2010-05-26 14:19:01

1
  1. 不,实际上不可能从干线“更新”分支。分支不像工作副本。理论上,您可以将合并为从主干到分支的所有更改,但这会在将更改提交回主干时产生问题。

  2. 此操作称为“重新集成分支”。它实际上是一种合并形式。之后,分支可能会被删除。

+0

所以基本上,除非其他人在同一个分支上工作并进行了更改,否则不能更新分支?我想我现在几乎了解svn /使用破坏版本 - 但我不清楚干线是如何更新分支变化的。另外,如果有很多分支要添加到主干,你如何协调事物? – Theomax 2010-05-26 14:09:11

+0

合并分支就像定期提交一样。对许多人来说,处理同一组文件是可以的。在合并过程中,您将会很好地显示变更集并将其半自动合并。合并首先在本地副本上完成,映射到主干。然后,在编写干线的可能新状态之后,通过定期提交进行提交。 – 2010-05-26 14:34:26

2

首先,在Subversion“分支”==“普通目录”中。你在仓库中创建目录“branches”,并声称它将包含分支,但Subversion不会将这个目录与其他目录区分开来。这同样适用于“主干”,“标签”等。

因此,当您在分支上执行“更新”时,只更新目录。

正如Lasse所说,要将变更变为主干,您应该使用“合并”操作。