文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux下常用cvs命令整总结

2023-06-13 05:16

关注

这篇文章主要介绍“Linux下常用cvs命令整总结”,在日常操作中,相信很多人在Linux下常用cvs命令整总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下常用cvs命令整总结”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

登录:
$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 &lsquo;log_message&lsquo; ] :输入修改说明。
[-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 <model>
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: 显示当前文件的更新状态.

到此,关于“Linux下常用cvs命令整总结”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯