cvs常用命令

很多cvs命令都有缩写形式:commit=>ci; update=>up; checkout=>co; remove=>rm;

----------------------------------------------

检出模块
如果检出模块时没有指定分支名称,默认就是 CVS 中模块的 HEAD 分支。
cvs co  <module-name></module-name>

----------------------------------------------

文件的状态
cvs status  filename

仓库文件的状态报告如下所示:

Up-to-date  您的文件版本正是 CVS 服务器上的最新版本。
Locally Modified  您已从服务器上更新了最新的版本,并且做了修改。
Locally Added 您使用 cvs add 命令添加了文件,但是尚未提交文件的添加。
Locally Removed 您使用 cvs remove 命令删除了文件,但是尚未提交文件的删除。
Needs Checkout 服务器上有新版本的文件,您需要更新。尽管状态中说,需要检出,实际的意思是,您需要用 cvs update 命令更新文件。
Needs Patch 本地文件需要打补丁以更新到服务器的最新版。执行 cvs update 命令来解决。
Needs Merge 服务器上有更新的版本,您的本地版本却做了未提交的修改。这种情况可能经常发生,如果您没有获取最新版本就进行修改的话。
File had conflicts on merge 类似 Needs Merge,但是当您执行 cvs update 命令时,将无法自动解决冲突。关于如何解决冲突请参考 第 10.4.8 节 “解决冲突”。
Unknown CVS 服务器不知道文件的任何信息。它没有被本地添加或删除,也从未提交到服务器上。这种情况通常发生在不应被提交到 CVS 服务器的文件上,例如 generated-index.sgml,或者是想添加到仓库但尚未执行 cvs add 命令的文件。

----------------------------------------------

annotate—在文件中具体做了哪些修改
annotate 选项
这些是 annotate 所支持的标准选项(参阅 Common options,了解详细信息):

-l 只作用于本目录,不递归。
-R 递归处理目录。
-f 如果不指定标签/日期,使用最新修订版。
-F 批注二进制文件。
-r tag[:date]批注指定修订版/标签的文件,或者当指定 date 并且 tag 是分支标签时, tag 分支上的版本当作存在于 date 上。见 Common options。
-D date 批注指定日期的文件。

----------------------------------------------


查看文件现有的标签和分支
cvs status -v <filename></filename>

----------------------------------------------

将文件同步到最新的版本
不制定文件名,cvs将同步所有子目录下的文件
cvs update
或者
cvs update file_name

----------------------------------------------

确认修改写入到CVS库里:
cvs commit -m "write some comments here" file_name

----------------------------------------------

修改某个文件某个版本的注释:
cvs admin -m 1.3:"write some comments here" file_name

----------------------------------------------

添加文件:
cvs add new_file
对于图片,Word文档等非纯文本的项目,需要使用cvs add -b选项 ,比如:cvs add -kb new_file.gif
然后确认修改并注释
cvs ci -m "write some comments here"

----------------------------------------------

删除文件:
将某个源文件物理删除后,比如:rm file_name
cvs rm file_name
然后确认修改并注释
cvs ci -m "write some comments here"
以上面前2步合并的方法为:
cvs rm -f file_name
cvs ci -m "why delete file"

----------------------------------------------

添加目录:
cvs add dir_name

----------------------------------------------

查看修改历史:cvs log file_name
cvs history file_name

----------------------------------------------

查看当前文件不同版本的区别:
cvs diff -r1.3 -r1.5 file_name

----------------------------------------------

查看当前文件(可能已经修改了)和库中相应文件的区别
cvs diff file_name

----------------------------------------------

给文件加一个STICK TAG: "1.2"
cvs update -r1.2 file.name

----------------------------------------------

通过CVS恢复旧版本的方法:
cvs update -p -r1.2 file_name > file_name

如果不小心已经加成STICK TAG的话:用cvs update -A 解决

----------------------------------------------

移动文件:文件重命名
cvs里没有cvs move或cvs rename,因为这两个操作是先cvs remove old_file_name,然后cvs add new_file_name实现的。

----------------------------------------------

删除,移动目录:
最方便的方法是让管理员直接移动,删除CVSROOT里相应目录(因为CVS一个项目下的子目录都是独立的,移动到$CVSROOT目录下都可以作为新的独立项目:好比一颗树,其实砍下任意一枝都能独立存活),对目录进行了修改后,要求其开发人员重新导出项目cvs checkout project_name 或者用cvs update -dP同步。

----------------------------------------------

确认版本里程碑:多个文件各自版本号不一样,项目到一定阶段,可以给所有文件统一指定一个阶段里程碑版本号,方便以后按照这个阶段里程碑版本号导出项目,同时也是项目的多个分支开发的基础。
cvs tag release_1_0

开始一个新的里程碑:
cvs commit -r 2 标记所有文件开始进入2.x的开发

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值