认识到版本控制的必要性,您肯定走在正确的轨道上,但听起来不确定这对您和您的工作可能意味着什么。一旦你了解了版本控制系统背后的概念,你就会真正体会到它们。
概念很简单:源代码控制系统是一款旨在帮助您存储和管理代码的软件。根据您选择的系统,将代码输入和输出的方式会有所不同:一种范例是您故意“签出”文件,对其进行更改,对其进行测试并确保它是好的,然后再将其签入。另一个是您只需保存所做的每一个更改,因为磁盘空间非常便宜,比您最初创建源所花费的时间和精力要便宜得多。
另一个重要的概念是“基线”或“标签”。当您的产品处于准备发货状态时,您告诉源代码控制系统创建一个“标签”并用该标签标记您的整个源代码库中的每个当前项目。这样,当有人报告 4.1 版中的错误时,您可以访问您的系统,请求所有带有“4.1 版”标签的文件,并准确获取他们遇到问题的源代码。
将源代码控制工具与您的开发环境集成在一起,使整个过程比乱用命令行要容易得多。(不要因为命令行的复杂性而忽视命令行,它们为有经验的用户提供了优雅的控制,你最终会成为有经验的用户。)但是现在,我推荐一个源代码工具,它可以尽可能地自动化这个过程尽可能。
需要考虑的一些事项:您是现在,还是打算与其他开发人员共享开发?这可能会对您设置服务器的方式产生影响。如果您在自己的盒子上单独开发,您可以在本地进行设置,但这可能不是团队的最佳方法。(如果你不确定,git 在那个领域非常灵活。)你打算存储大型多媒体文件,还是只存储源代码?一些源代码系统被设计为只有效地存储文本文件,并且不能很好地处理电影、声音或图像文件。
还有一点需要知道的是,大多数较新的源代码控制系统需要在服务器上运行某种“守护程序”程序(Subversion、git、Perforce、Microsoft Team Foundation Server),而较旧、更简单的系统只直接使用文件系统(Visual Source安全,cvs)并且不需要服务器程序。
如果您不想学习太多并且您的要求很低,那么更简单的解决方案就足够了。Microsoft 的 Visual Source Safe 曾经与他们的 Visual Studio 产品一起提供,并且是一个非常简单易用的工具。它不是很健壮,它只是微软的,它不能很好地处理大文件,但它非常非常容易设置和使用。如果您不想花钱,Subversion 和 git 是两个出色的开源解决方案,并且在网络上有很多关于这两个的文档。
如果你喜欢花钱,Perforce 被认为是专业开发团队的绝佳选择(而且我相信他们有免费的单开发者版本。)如果你真的喜欢花钱并想让比尔盖茨开心,微软的团队Foundation Server是一个完整的软件开发生命周期管理器,在Windows环境下非常好用,功能非常强大;但是您可能希望使用整个 Windows 服务器(加上 SQL Server)实例来托管它,而且仅在许可证上就需要花费数千美元。不幸的是,它不适合单人商店,或者如果您没有 Windows 管理员经验。
如果您有预算或人脉,请一位经验丰富的软件工程师帮助您开始工作,这可能是通往成功的最快途径。否则,您将不得不做更多的研究来了解哪些系统最适合您的情况。