我是一名学习如何使用源代码控制软件的开发人员。我看过Subversion documentation。我理解合并的概念,但我的问题是:你多久合并一次?
例如,如果你有一个开发人员在主干上工作,两个开发人员在不同的分支上工作,那么他们什么时候开始:
1) Merge the trunk with branch 1
2) Merge the trunk with branch 2
3) Merge branch 1 with the trunk
4) Merge branch 1 with branch 2
5) Merge branch 2 with the trunk
6) Merge branch 2 with branch 1
在此示例中,请假设这三个更改是孤立的。你是否在每天结束时合并? - 假设变化当然是稳定的,或者你是否及时合并到发布日期?
过去(当我没有使用源代码控制时)我已经发布了as和when。我认为最好设置一个发布日期,我和其他开发人员可以为之努力吗?
我已准备好很多关于今天合并和分支的帖子,例如这一个:Good branching and merging tutorials for TortoiseSVN?。我没有找到我的具体问题的答案。
答案 0 :(得分:3)
可能有不同的分支策略。但我建议不要将它们与日历或时间事件(如每日或每周)联系起来。
对我来说,以下工作:
如果开发需要很长时间并且主干有变化,那么在开发过程中多次合并trunk->分支是不合理的。
有时这样的分支会活1-2个小时。有时1-2个月(但我不喜欢这样的东西 - 通常意味着分解不足)。
此外,我从未遇到过需要在分支之间进行合并(不包括主干),但这又取决于任务的良好分解。如果一个功能/ bug修复完成,它应该转到trunk,如果不是你不应该使用它的中间状态。
答案 1 :(得分:0)
除了maxim1000的答案(+1之后),我的经历:
我更喜欢在大型单一合并上进行更多小型合并,因为您经常要解决冲突。缺点是在进行大量小型合并时,总投入时间可能会更长。
当我进行合并时,取决于在分支中完成的更改的数量和质量。