如果我在一个名为“R08”的分支上工作,并且有一个主分支“TRUNK”,我承诺“R08”,然后
不要将更改提交到TRUNK
,而是在第二天将我的同事svn up
提交到分支R08
,然后合并,并提交到{{1我的提交也会合并到TRUNK
吗?
我没有合并并提交给TRUNK,因为我可能会在第二天做一些更改或使用不同的解决方案,而且我做了(比如说它是一个不同的文件),并提交{{ 1}},这次合并并提交到TRUNK
,两次提交都会转到R08
吗?
我看到的一些例子是TRUNK
加一个分支,但只有一个人在分支机构工作,另一个人在TRUNK
工作。我想知道当有5个人在分支机构工作时会发生什么,还有6个人同时在TRUNK
工作? (有些人是同一个人)。
请给出答案,而不是提供手册的链接。
答案 0 :(得分:1)
正如其他评论所述,在分支机构/中继线上工作的人数与行为无关。合并只是基于两个分支的变化。无论是其他人进行更改,还是同一个用户进行更改都与整个过程无关。
它会(我假设您所说的“我的提交”是您在R08中所做的更改,并且是在您的同事合并之前提交的,对吗?)
您的问题不明确:“两次提交”是什么意思?
这是一种简化的方法来告诉你合并将会做什么:
B1分支从主干出来
r10
----+---> (trunk)
\--> (B1)
有人将更改A提交到分支B1,在r15
r10 r15
----+---> (trunk)
\----X-> (B1)
在trunk上进行了一些其他更改,有人更新到最新的turnk并准备将B1合并到trunk:
r10 r15 r16 r17
----+---------Y---Z-> (trunk)
\----X-> (B1)
当它尝试将B1合并到主干时,它将从B1分支到最新的点找到B1中所做的更改,这是在r15中完成的更改X,并在trunk中应用更改:
r10 r15 r16 r17 r18
----+---------Y---Z------X'--> (trunk)
\----X-------------/ (B1)
所有逻辑都无关紧要,每个分支上有多少人在工作。
答案 1 :(得分:1)
至1: 是的,如果没有排除形式合并。
至2: 这更像是一个组织问题。通常认为在完成后会提交trunk。因此,您必须在团队中清除何时合并。但这适用于所有团队。 在我工作的项目中,这绝不是一个真正的问题。