68. 把一切都置于版本控制之下

来源:互联网 发布:matlab中优化目标函数 编辑:程序博客网 时间:2024/06/06 02:57

把一切都置于版本控制之下

        把项目中的一切都放在版本控制之下。你需要的资源有:免费的工具,比如Subversion,Git,Mercurial和CVS;充足的磁盘空间;便宜又强大的服务器;无处不在的网络;甚至是项目主机服务。等安装了版本控制软件之后,为了将所有资源放入版本库,你所有需要做的就是在一个干净的、包含代码的目录中运行恰当的命令。而且只有两个基本的操作要学习:提交代码修改到版本库和通过版本库中的版本更新你的工作版本。
        一旦项目置于了版本库的控制之下,你就可以很清楚地跟踪其他历史了,通过引用文件或者项目的一个唯一的标识符看谁写了什么代码。更重要要的是,你可以给代码进行大规模的修改而不用害怕了,再也不用为了在将来某个时候的需要来注释掉代码了,因为旧版本正安全地躺在版本库中呢。你可以(也应该)给软件发布版本一个标志性的名称,以便在将来重新查看客户正在使用的版本。你可以创建并行开发的分支:大多数项目都有一个活动的开发分支和一个或多个发布版本的维护分支。
        版本控制系统最小化了开发人员之间的摩擦。当程序员们在软件和独立的部分中工作时,他们几乎是靠魔法来集成的。当他们不小心踩到其他人的脚时,系统会发现并允许他们解决冲突。通过一些额外的设定,系统可以通知所有的开发人员每个人提交的修改,以便大家都了解项目的进度。
        当你设置项目时,不要吝啬:把所有的项目资源都置于版本控制之下。不仅是源代码,还包括文档、工具、构建脚本、测试用例图片甚至是库。将项目完整地置于版本库(通常是备份库)中,丢失磁盘或者数据的损失就会被最小化。在一个新的机器上创建开发环境只需简单地从版本库中检出项目。这简化了不同平台上代码的分布、构建和测试:每一个机器上只需一个简单的更新命令就能确保软件是最新版本。
        当你看到版本控制系统的美好之处后,遵循一些规则可以让你和队友工作得更加高效:
        · 用分开的操作提交每一个逻辑修改。将很多的修改合在一起提交会让将来清理它们变得很麻烦。这在你进行全项目范围内的重构和风格修改等会让其它修改模糊不清的操作时特别有用。
        · 每次提交都伴随一个解释性的消息。简洁地描述你做了什么修改,但是如果你想要记录修改的根本原因,这是最佳的地方。
        · 最后,避免提交可能会破坏项目构建的代码,不然你在项目的其它开发人员眼中会变得不受欢迎。
        版本控制系统下的生活真的是太美好了,不要因那些可以轻松避免的失误而毁掉它。

原文: