假设您正在开发具有定期发布的软件产品。关于分支和合并的最佳实践是什么?将定期发布的分支切分给公众(或您的客户是谁),然后在主干上继续开发,或者将主干视为稳定版本,定期将其标记为发布,并在分支中进行实验工作。人们认为行李箱被认为是“黄金”还是被认为是“沙盒”?
我已经在大型商业应用程序中尝试了这两种方法。
哪种方法更好的答案在很大程度上取决于您的具体情况,但我会写下我迄今为止的整体经验。
总体上更好的方法(根据我的经验):主干应该始终保持稳定。
以下是此方法的一些指导原则和好处:
如果您尝试做相反的事情并在主干中进行所有开发,您将遇到以下问题:
如果您尝试保持分支稳定并将主干作为开发沙箱,您将根本无法获得所需的灵活性。原因是您无法从主干中挑选要放入该稳定版本的内容。它已经在后备箱中混合在一起了。
我会说在主干中进行所有开发的一种特别情况是,当您开始一个新项目时。根据您的情况,可能还有其他情况。
顺便说一句,分布式版本控制系统提供了更多的灵活性,我强烈建议切换到 hg 或 git。