技术开发 频道

版本控制系统(VCS)入门插图教程

    一个实际的例子:管理Windows源码

    我们前面说过,微软公司不用共享文件夹管理代码,那么他们怎么管理呢?

    * 首先有一条main line,专门保存稳定版本的Windows。

    * 然后,每个开发小组(网络、用户界面、媒体播放器等等)都有各自的branch,来添加新功能。这些新功能还在开发当中,并不稳定。

    你在你的branch中,开发了一个新功能。然后,你用“Reverse Integrate (RI)”,将它并入主版本。接着,你再用“Forward Integrate”,你再去得到最新的主版本,将它并入你的branch。

    假设老版本是Media Player 10和IE 6。Media Player开发小组,在他们的branch中制作了第11版,然后他们用一个10 - 11的补丁,将第11版加入老版本中。这是一个reverse integration,从branch到trunk。IE开发小组也是同样的步骤。

    接着,Media Player开发小组从其他小组(比如IE小组)得到最新的代码。在这个例子中,Media Player从trunk得到最新的补丁,运用到他们的branch中,这叫做forward integration。

    reverse integration和forward integration,分别简称RI和FI。这样的安排让变动主要在branch中发生,而使得主干保持相对不受影响。


    在微软实际运作中,有很多层的branch和sub-branch,还有许多质量控制标准,确定什么时候才可以进行RI。这里只是希望帮助你建立一个想法,那就是branch有助于管理复杂的项目。现在,你应该明白了世界上最大的软件项目之一,是怎么进行组织的。

    结束语

    如果你以前没有用过VCS,我建议你使用它。因为它是一种很好的工具,即使你不打算写一个操作系统,单单就是为了备份,也值得用它。

    网上有许多VCS软件可供选择,并且都有详细的教程或手册,比如SVN、CVS、RCS、Git、Perforce等等。Eric Sink写过一个详细的version control guide可供参考。

0
相关文章