近来项目要用到CVS,之前没用过,出现不少问题,所以在网上找到一篇比较全的。略有删改(把广告部分删除了)
(很抱歉,如果你希望能更加清楚地看清图片或是图上的文字的话,你可以按住ctrl不动,然后向上滚动鼠标的滚轮。要改变回来同理向下滚动即可、)
2011.8.15更新过:
--------------------------------------------------------------------
因为文章图片太多,怕有些网速比较慢的童鞋打开比较慢或是打开不了,
我提供了我写这篇文章的word版,如果想看直接下载word观看也是可以的。
word原文下载地址:http://ref.so/61x0w
---------------------------------------------------------------------------------------------
当我在成功解决这个知识点的时候,还是蛮有成就感了、毕竟又接触到了一个实际项目中常用到的功能了。写这篇文字有两个原因,一个是当作笔记,一个是网上其他作者写的要嘛过于简单,要嘛就是
有错误,对于像我这样的初学者每次看了还要碰壁,所以我必须写点东西、
--------
今天是花了3到4个小时学习和实践了这个知识点。
第一次尝试了安装在myeclipse下安装SVN,也知道是啥原因一直不行,
后来实在没办法了退而求其次改用CVS了。
经历就是这样的经历,过程等下全图配字张贴。
-----------------------------------------------------------------------
关于啥是CVS和SVN,CVS有啥用,开始应该怎样认识它等等这些问题,
站在一个新手的角度讲,我需要给你献上我观看的张龙老师的视频,
真真正正地很不错,该压缩包里面包括视频,笔记,安装软件。
做为一个计算机专业的初学者,我觉得你有必要先认识这个软件,它很重要,而且是应该在前期就认识的。
张龙老师视频中给我们的服务器端视cvsnt2.0的,而我觉得太老了,找了一个cvsnt-2.5.03.2260
为了找这个软件,我也花了将近半个小时。
国内网站一搜,都是艹他妈的骗子,都是广告,广告也就算了,而且还下载不下来,有下载下来的还要积分,现在看到这种网站,真的很想顶它的肺。
大家自己说说是不,网站要赚钱我们能理解,但是你让我们为你点击广告了,还是得不到东西,
你让我能不气愤吗?。。。
真的很怀疑这样的网站能做远,也许也就现在骗骗我们这些最开始认识你的人而已。
在这里我也想说一句,做网站的,最重要的是内容,如果你不是站在用户的角度考虑问题,
不能给他们实实在在的帮助,你永远也不能把SEO提上去的,即使你花样再多。
-----------------------------------
扯远了,开始核心内容了。
先提醒,刚刚上面说了,张龙老师的视频里面用的cvsnt2.0,而我现在提供和用的是2.5,
两者界面已经有了一定差距,所以你如果是初学者,你必须看视频,而且看完视频还需要看这篇文字,
不然会像我最开始的时候碰到某些问题。
你现在需要准备的工具:下载:
CVS的学习资料(里面包括如下图):http://ref.so/povm9
这个压缩包下载完,就开始做准备工作了。
第一步:
先观看压缩包中张龙老师的视频,先了解CVS的初步理论和一些相关知识。
第二步:
第三步
开始安装CVSNT2.5
安装过程我没截图,因为跟常规我们安装的软件一样,
就是简单的下一步下一步而已,没什么需要改动或是勾选的,都是默认。
第四步:
打开CVS服务端的控制器,需要改动的也是跟视频里面讲的差不多,
但是因为这是cvs2.5跟视频里面有点小区别,需要注意的地方如图:
第五步:
到了这里就表示CVS仓库已经建立完整了。
我们现在打开myeclipse或是eclipse创建一个连接CVS仓库的桥梁。
首先我们把透视图转到CVS下,怎样转换,如下图:
第六步:
开打CVS透视图之后我们需要新建一个桥梁
第七步:
连接创建好了,现在就是把现有的项目导入到仓库去,让仓库管理我们的项目,
选中要导入到仓库的项目名,右键,然后如下图单击share project。
这里有几步都是跟视频一样的我就不多讲了,直接贴部分步骤图。
第八步:
如果你不满意你刚刚创建的连接你可以
完整的步骤就这样结束了。大家应该也没碰到啥问题吧、如果你真的按着我这样的步骤来、
----------------------------------------------------------------
至于有的童鞋碰到Error validating location:"Could not connect to :pserver的问题,
问题就是出现在上面的第六步,创建连接仓库的那个path错了,
我上面反复提到,不能是E:\svc而必须是/svc,就是这个原因。
--------------------------------------------------------------------
2011.8.15更新内容:
几个名词的解释和注意事项的补充:
(6).CVS的Update、Commit
①.Update是让MyEclipse上的版本和CVS服务器上的版本一致即:让CVS服务器上有而MyEclipse上没有的代码填充到MyEclipse上,或当CVS服务器和MyEclipse都有相同的项
但内容/值不同时,CVS将用CVS服务器上的值替换MyEclipse上的值从而达到版本一致(如果客户端版本低于服务器端版本且客户端文件已被修改则冲突不能更新,如果客
户端版本低于服务器端版本但客户端文件未被修改则更新客户端文件,如果客户端版本与服务器端版本一致且客户端文件已被修改则更新文件,如果客户端版本与服务器
端版本一致但客户端文件未被修改则不更新文件)
②.Commit是用MyEclipse上的项目覆盖CVS上的项目即:让MyEclipse上有而CVS服务器上没有的代码填充到CVS服务器上,或当MyEclipse和CVS服务器都有相同的项但内容/值
不同时,CVS将用MyEclipse上的值替换CVS上的值从而达到项目的提交(如果客户端版本低于服务器端版本则冲突不提交,如果客户端版本与服务器端版本一致则提交并将
服务器端版本号和客户端版本号都加1)
--------------------------------------------------------------------
(7).CVS提交注意事项:
①.如果修改了项目需要提交时,要先Update再Commit,因为MyEclipse上的版本低于CVS服务器上的版本,直接提交会报错,必须是MyEclipse上的版本和CVS服务器上的版本相
同才能直接提交
②.项目应及时Commit(只要MyEclipse上有代码被修改,尽量及时Commit):MyEclipse上的代码与CVS上的代码差异越小,合并的难度就越小(提交几率越大);
③.空文件夹和空包提交时服务器上会有空的文件夹和空包,但是当下载到MyEclipse的包管理器中时,就不会有空的文件夹和空包,所以空的文件夹和空包中必须要有文件才
提交到CVS服务器
④.项目提交时尽量分开Commit:提交项目时不要整个项目一次性Commit,各个类或层尽量分次提交,这样能尽早地Commit和减少合并的难度.由于CVS提供了一旦提交失败会
将提交失败的项回滚到先前版本的能力而不再是Update后的版本,分次提交就很容易将本次提交的项所修改的内容而不是整个项目回滚到正常的代码
⑤.同一功能涉及的所有代码一次Commit:不要将涉及同一功能修改的代码分开Commit,因为这会给日后的追踪带来麻烦.
⑥.注明提交日志:Commit时可以在Enter a comment for the commit operation下面的文本框中输入Commit操作的备注>Finish即可一起提交Commit操作的日志,这里可以
注明代码修改的备注(为什么修改及进行了怎样的修改),查看提交日志:右击要查看的类/文件>Team>Show History,其中的Comment项就是提交日志信息,双击信息将在此
窗口(History窗口)的第二个子窗口中显示此信息并可将其复制
⑦.经常保持客户端时钟与服务器端时钟一致,通过命令"net time cvsserver /set"设置.
⑧.不要用Unix的CVS客户端(包括Cygwin的CVS客户端)Checkin DOS格式的文件
(真心感谢图片上的造字工坊字体和软件开发者、)
------------------------------------------------------------------------------------原文地址 http://jn3.141592654.blog.163.com/blog/static/27477260201152674644853/