KEYWORDS:CVS WinCVS CVSROOT
内容摘要:
cvs 是一个版本控制系统。使用它,可以记录下你的源文件的历史。
你当然可以把曾经创建的每个文件的所有版本都保存下来。但这会浪费大量的磁盘空间。 而cvs用一种聪明的办法把一个文件的所有版本保存在一个文件里,仅仅保存不同版本之间的差异。
本文介绍CVS版本控制的轻松实现。
- CVS服务端的初始化;
- Linux下CVS客户端日常使用
- WinCVS
1、CVS服务端的始化
环境设定,指定CVS库的路径CVSROOT
export CVSROOT=/app/cvsroot/
CVS版本库的初始化
cvs init
2、Linux下CVS客户端日常使用CVS版本库的初始化
cvs init
以下是CVS最常用的功能,可能不到它全部命令选项的10%,作为一般开发人员平时会用cvs update和cvs commit就够了,更多的需求在实际应用过程中自然会出现,不时回头看看相关文档常会有意外的收获。
CVS的远程认证通过SSH远程访问CVS,CVS服务器是192.18.1.10,上面CVSROOT路径是/app/cvsroot,另外一台开发客户机是192.168.1.11。如果test在2台机上都有同名的帐号,那么从192.168.1.11上设置:
CVS的远程认证通过SSH远程访问CVS,CVS服务器是192.18.1.10,上面CVSROOT路径是/app/cvsroot,另外一台开发客户机是192.168.1.11。如果test在2台机上都有同名的帐号,那么从192.168.1.11上设置:
export CVSROOT=:ext:test@192.168.1.10:/app/cvsroot
export CVS_RSH=ssh
eg:cvs import -m "Technologe Documents" Tech vendor release
项目导出
eg:cvs checkout Tech
cvs将创建Tech目录,将最新版的Tech项目内容导出到Tech目录中。
cvs update file_name
最好在每天开如工作前或将自己的工作导入到CVS库里前都要做一次,并养成“先同步 后修改”的惯,版本冲突一般是在多个人修改一个文件造成的,但这种项目管理上的问题不应该指望由CVS来解决。
CVS的很多动作都是通过cvs cmmit进行最后确认并修改的,最好每次只修改一个文件。在确认前还需要用户填写修改注释,以帮助其他开发人员了解修改原因。
对于图片,word文档等非线文本的项目,需要使用2进制文件方式导入:
cvs add -kb new_file.gif
cvs ci -m "why delete file"
cvs history file_name
项目发布导出不带CVS目录的源文件
cvs export -r release1 project_name
cvs export -D 20070520 project _name
cvs export -D now project_name
cvs tag release_2_0
开始一个新的里程碑:
cvs commit -r 3
标记所有文件开始进入3.x的开发
cvs rtag -b -r release_2_0 release_2_0_patch proj_dir
3、WinCVSexport CVS_RSH=ssh
- 一个项目的首次导入
eg:cvs import -m "Technologe Documents" Tech vendor release
项目导出
- 把项目从CVS库中导出来
eg:cvs checkout Tech
cvs将创建Tech目录,将最新版的Tech项目内容导出到Tech目录中。
- 将文件同步到最新版本
cvs update file_name
最好在每天开如工作前或将自己的工作导入到CVS库里前都要做一次,并养成“先同步 后修改”的惯,版本冲突一般是在多个人修改一个文件造成的,但这种项目管理上的问题不应该指望由CVS来解决。
- 确认修改写入到CVS库里
CVS的很多动作都是通过cvs cmmit进行最后确认并修改的,最好每次只修改一个文件。在确认前还需要用户填写修改注释,以帮助其他开发人员了解修改原因。
- 修改某个版本注释
- 添加文件
对于图片,word文档等非线文本的项目,需要使用2进制文件方式导入:
cvs add -kb new_file.gif
- 删除文件
cvs ci -m "why delete file"
- 查看修改历史
cvs history file_name
- 查看当前文件不同版本的区别
- 通过CVS恢旧版本
项目发布导出不带CVS目录的源文件
cvs export -r release1 project_name
cvs export -D 20070520 project _name
cvs export -D now project_name
- 项目多分支同步开发
cvs tag release_2_0
开始一个新的里程碑:
cvs commit -r 3
标记所有文件开始进入3.x的开发
- 建立版本分支
cvs rtag -b -r release_2_0 release_2_0_patch proj_dir
下载:下载cvs Windows客户端1.2版,PuTTY 0.60版。
安装好以上两个软件后:
WinCVS客户端的admin-->preference设置
general选单里设置CVSROOT:
test@192.168.1.10:/app/cvsroot
Authorization:选择SSH sever
设置CVS使用基于公钥/私钥的SSH认证:RSA identity(eg:test.ppk)
注:PuTTY中SSH公钥/私钥的产生配置参见:http://yangdeyou.blogspot.com/2007/04/linuxauthentiaction-key-2007-4-28.html
Port选单里:
选择上:check for altermate rsh name
设置ssh的路径,因为安装的是PuTTY,设置PuTTY的command命令路径,一般在:c:\Program File\PuTTY\plink.exe
现在就可以使用WinCVS进行CVS操作了。
安装好以上两个软件后:
WinCVS客户端的admin-->preference设置
general选单里设置CVSROOT:
test@192.168.1.10:/app/cvsroot
Authorization:选择SSH sever
设置CVS使用基于公钥/私钥的SSH认证:RSA identity(eg:test.ppk)
注:PuTTY中SSH公钥/私钥的产生配置参见:http://yangdeyou.blogspot.com/2007/04/linuxauthentiaction-key-2007-4-28.html
Port选单里:
选择上:check for altermate rsh name
设置ssh的路径,因为安装的是PuTTY,设置PuTTY的command命令路径,一般在:c:\Program File\PuTTY\plink.exe
现在就可以使用WinCVS进行CVS操作了。
没有评论:
发表评论