我认为通常当你分支时,你会分支整个主干,但在我的公司里,我看到人们分支主干的子文件夹和更深层次 - 当你试图找到正确的目录时,除了混乱之外还有任何实际后果吗?在后备箱中合并回来?
答案 0 :(得分:7)
问题不在于分支......这是合并:
从不合并回这样的“子树”文件夹。为什么? Subversion会将其merge-info存储到此子树文件夹中。一旦发生这种情况,任何人都不能再使用merge -reintegrate了。
Look here for more information:
避免子树合并和子树mergeinfo,仅对其执行合并 分支的根,而不是子目录或文件
这意味着只要您在主干中挂着子树merge-infos,就不能使用通常应该使用的-reintegrate选项,因为这样合并就容易得多。
答案 1 :(得分:3)
正是你所说的。 SVN非常灵活,您可以从树中的任何位置进行分支,这是令人印象深刻的,直到您想要将其合并回来,然后您难以管理您创建的混乱。现在它有时是有意义的(例如,你有一个顶级目录,其中包含其他东西,或者你需要一个非常特殊的本地化分支来修复特定的螺旋上升)但一般来说你想让自己保持简单。
这意味着选择一个根用作你的分支,并坚持使用它,即使这意味着只从顶级分支。事情变得更加简单。即使你这样做,分支的成本也可以忽略不计。