尽管可以肯定会从此开始,但版本控制是软件配置管理的一部分,它比跟踪文件更改要复杂得多。但是,请务必阅读上面链接的Wikipedia文章以及Joel Spolky的Mercurial教程。
首先,按顺序选择Mercurial,GIT或Bazaar中的一种,然后将其与适用于IDE和操作系统的工具一起安装(我更喜欢Mercurial和HGE for Eclipse)。
- 从工作目录初始化存储库(使用Mercurial 初始化hg)。
- 确定要跟踪的文件和目录,而不要跟踪。一般规则是不跟踪由编译器和其他工具生成的文件。
- 使用命令将文件和目录添加到存储库(hg add表示Mercurial)。
- 告诉工具您不想跟踪的文件的模式(为Mercurial 编辑.hgignore)。
- 执行一次提交以跟踪原始版本(hg ci)。
- 在每个逻辑里程碑之后执行一次提交,即使它很小。
- 创建新文件时添加它们。
- 重复最后两个。
- 尽可能合理地备份您的工作目录和存储库。
将文件保存在存储库中后,您就可以知道文件或目录的任何两个版本之间的差异,或者完整项目(hg diff)的差异,可以查看更改的历史记录(hg hist),以及回滚更改(hg up -r)。
在发布代码之前标记(hg tag)存储库是一个好主意,因此有一种简单的方法可以返回到您发布的内容以进行修订或比较。
如果您要尝试不同的开发路线,请通过克隆主存储库(hg clone)在一个简单的分支中进行此操作,直到实验结束后才进行回退。就像为实验使用其他工作目录一样简单。
如果实验是针对新的升级版本,则克隆然后分支(hg branch),这样您就可以使存储库的所有副本保持更新,而一个实验不会干扰另一个。
Linus Torvalds(在他的项目中处理成千上万的文件和数百万行代码的人)在Google上发表了演讲,介绍了为什么该工具不能是CVS,SVN或周围众多免费和商业工具中的任何一种; 非常值得一看。