系统之家 - Windows操作系统&装机软件下载网站!

当前位置: 首页  >  教程资讯  >  电脑教程 Linux下常用cvs命令整理

Linux下常用cvs命令整理

时间:2023-06-02 16:16:41 来源: 人气:

   1.登录:,  $export CVSROOT=:pserver:username@the_server_name:/home/cvsroot,  Note:pserver是访问方式,如果服务器设置的是口令认证,则是 pserver。,  username是 CVS服务器的用户名,可以根据你的设置修改;,  the_server_name是CVS服务器的名称或者IP地址;,  /home/cvsroot是你的CVS服务器的CVSROOT目录,根据你的CVS服务器设置做修改或者询问管理员.,  登陆CVS服务器:,  $cvs login,  这时候cvs会问你口令,请把你在CVS服务器上的口令敲进去:,  Passwd:xxxxxxxx,  2. 提交项目--import,  cvs import [-options] repository vendortag releasetag...,  Note: 该命令将当前目录下的所有文件(包括子目录)导入源代码储存库。,  repository :项目名称,在CVS服务器上会创建以这个名字命名的仓库。,  vendortag : 项目分支的总标记。(不常用),  releasetag :标识文件的输入层次的标记。 (一般用start),  使用import提交项目的时候,CVS会要求对项目进行说明。在默认状态下,CVS会弹出文本编辑器。用户也可以用-m “log_message”来输入说明信息。,  例如,  $cvs import -m "upload the first time as new module" judecvs v_0_0_1 start,  提示:import 一般在第一次导入module时使用。后期修改文件后可直接使用commit命令提交修改的文件。,  3. 从CVS导出项目--checkout,  cvs checkout [options] modules...,  此命令将源代码储存库中已有的项目导出到当前目录。,  modules :项目名称,  例如,从仓库中检索出judecvs项目的源文件.,  $cvs checkout judecvs,  4.CVS 主要命令---update 更新当前工作目录中的文件,  cvs update [-options] [files...],  此命令比较指定CVS源码库中的文件和当前目录下的文件,如果CVS源码库中有更高版本的源文件,则更新当前目录下的文件。此命令只有在checkout命令使用过后才能使用。,  在执行update命令时,CVS并不是简单的将新版本覆盖当前文件,而是试图将新版本所做的修改添加到当前文件中去。如果发生冲突,CVS会以字符串 “<<<<<<”和“>>>>>>”来表示冲突发生。这时候你可以修改文件,重新提交。,  提示:如果你已经做过一次checkout了,那么不需要重新checkout,只需要进入cvstest项目的目录,更新一把就行了:,  例如:,  $cd judecvs,  $cvs update,  5.CVS 主要命令---status 如果你不想直接更新,只是想看看有没有更新的东西,那么:,  $cvs status,  会给每个文件有一份状态报告,类似这样:,  ==================================================,  File: client.c Status: Up-to-date,  Working revision: 1.1.1.1 Some Date,  Repository revision: 1.2 /home2/cvsroot/judecvs/client.c,v,  这里最重要的就是 Status 栏,这里总共可能有四种状态:,  Up-to-date:表明你要到的文件是最新的.,  Locally Modified:表明你曾经修改过该文件,但还没有提交,你的版本比仓库里的新.,  Needing Patch:表明有人已经修改过该文件并且已经提交了!你的版本比仓库里的旧.,  Needs Merge:表明你曾经修改国该文件,但是别人也修改了这个文件,而且还提交给仓库了!,  6.CVS 主要命令---commit 保存修改到CVS中,  cvs commit [-lnR] [-m log_message | -f file] [-r revision] [files...],  此命令将当前目录下的源代码与CVS中最新版本比较,并进行更新。,  [-m ‘log_message‘ ] :输入修改说明。,  [-r revision] :指定版本。,  [files...] :指定修改文件。,  $cvs commit -m "add XXX function" client.c,  系统会提示,  CVS: ----------------------------------------------------------------------,  CVS: Enter Log. Lines beginning with `CVS: are removed automatically,  CVS:,  CVS: Committing in .,  CVS:,  CVS: Modified Files:,  CVS: client.c,  CVS: ----------------------------------------------------------------------,  退出后,系统询问是否continue,输入c,则完成checkin,  Log message unchanged or not specified,  a)bort, c)ontinue, e)dit, !)reuse this message unchanged for remaining dirs,  Action: (continue) c,  Checking in client.c;,  /home2/cvsroot/judecvs/client.c,v <-- client.c,  new revision: 1.2; previous revision: 1.1,  done,  如果CVS上文件已经有其他人更新,也就是我当前工作的不是最新版本,系统提示commit失败,这时候需要先update,然后把整合文件再commit.,  cvs server: Up-to-date check failed for `client.c,  cvs [server aborted]: correct above errors first!,  cvs commit: saving log message in /tmp/cvsCEjA9N,  提示:修改文件之前先update或者先查看文件状态,确认当前工作版本是最新版本。,  7.添加文件到项目中---add,  cvs add [-k kflag] [-m message] files...,  此命令并不真正添加文件,只是将文件注册到项目中,要真正添加文件,还要使用commit命令。,  例如:,  $cvs add -m "test add" testadd.c,  提示:,  cvs server: scheduling file `testadd.c for addition on branch `v_0_0_2,  cvs server: use cvs commit to add this file permanently,  $cvs commit,  同commit过程一样,CVS将testadd.c添加到项目中,  8.CVS 主要命令---remove 从项目中删除文件,  cvs remove [-k kflag] [-m message] files...,  和add命令一样,此命令并不真正删除文件,只是将文件从项目中取消,要真正删除文件,还要使用commit命令。,  e.g.,  $rm testadd.c,  $cvs rm testadd.c,  系统提示,  cvs server: scheduling `testadd.c for removal,  cvs server: use cvs commit to remove this file permanently,  $cvs commit testadd.c,  此时,CVS才将testadd.c从项目的最新版本中删除,但是如果它有以前的版本,以前版本依然存在。,  一些常用命令的简化形式:,  cvs co,  cvs up filename 提交修改,  cvs ci filename 确认修改,  cvs log filename 察看修改日志,  cvs st filename 察看文件状态,  cvs rm filename 将某个源文件物理删除,  在linux上使用cvs命令,  1)登陆CVS服务器:,  cvs -d :pserver:username@host:/$CVSROOT login,  然后系统会提示你输入密码。或直接使用:,  cvs -d :pserver:user:pwd@host:/CVS login,  2) checkout:,  cvs -d :pserver:host:/CVSROOT checkout projectName,  3) 如果想省略上面的-d以及服务目录,执行:,  export CVSROOT=:pserver:user@host:/cvsroot,  4) update:,  cvs update,  cvs update -C (override and update),  5) cvs status: 显示当前文件的更新状态.,

作者

教程资讯

电脑教程排行

系统教程

系统主题