文档章节

RCS版本控制系统简单教程

好铁
 好铁
发布于 2014/01/19 17:09
字数 663
阅读 719
收藏 2

    写程序多了后,自然就有使用版本控制系统的需求。虽然现在git很火很牛,但像我这小菜级别的程序猿,目前还没写过啥大程序,所以杀鸡焉用宰牛刀,用那据说很古老的RCS就足矣了,只在本地进行控制,简单易用。

    安装的话直接从相应linux发行版的源里安装就行。我的gnu/debian是sudo apt-get install rcs.

    1.建立一个文档目录

rcs使用很简单,需要在那个目录工作,就在哪里建立一个rcs目录即可,无需多余配置

$mkdir RCS

    2.创建和初始化rcs文件。比如那个用到烂的hello, word



$rcs -i hello.c
之后会让输入一些描述,最后用独占一行的点号"."结束。之后ls RCS可以看到生成了一个名为hello.c,v的文件


    3.检查进出


$co hello.c             #全名应该叫check out 揪出来
$ci hello.c             #这个是check in  扔进去
co使用时一般"-l"选项,表示上锁(lock);相对的是"-u"选项,不上锁(unlock),这个是默认。区别在于,上锁后,出来的那货有写权限,而默认不上锁是没有写权限的。一般都是检出继续编写,此时其他用户是没法编辑它的,所以长加上"-l"选项。


可以加"-r"选项指定版本,以检出查看,比如

$co -r1.2 hello.c



ci如果不加选项,默认会检入之后删除原来的文件,毕竟留着没啥用了。"-l"和"-u"选项都会留下原来的文件,区别是"-l"上锁,留下的文件有写权限,"-u"留下的是只读的。

我是这样记的:版本文件上了锁,外边的那货就可以放心大胆的被乱编辑了,所以有这副本有写权限。

    4.查看历史记录rlog


$rlog hello.c
会显示各版本的修改时间、作者、文档描述等信息


    5.比较版本间差异

用命令rcsdiff -r[version] filename,比如已经检出了1.5版,要和之前的1.4版比较

$rcsdiff -r1.4 hello.c






参考资料

http://man.chinaunix.net/linux/how/RCS-1.html

http://book.51cto.com/art/200804/69725.htm

http://www.gnu.org/software/rcs/manual/html_node/index.html

http://users.ninthfloor.org/~ashawley/rcs/tichy1985rcs/html/

© 著作权归作者所有

共有 人打赏支持
好铁
粉丝 35
博文 266
码字总数 78672
作品 0
朝阳
程序员
私信 提问
Git 分布式文件系统 - 为什么 Git 与众不同?

关于版本控制系统 按照时间顺序记录某一系列的文件的变更,使其可以查看以前的特定版本的软件,我们称之为版本控制系统。 简单来讲:创建两个文件夹,在两个文件夹中分别保存一月份与二月份的...

给你添麻烦了
07/08
0
0
推荐 5 款 Windows 下的 SVN 客户端工具

SVN (Subversion) 是一个版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。 本文向你介绍 5 款免费和开源的图形...

红薯
2011/08/13
60K
20
git简介

什么是“版本控制”? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 版本控制系统(VCS): 可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过...

garkey
01/11
1
0
Subversion 1.6.5 发布

Subversion是一个版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。 该版本没有引入新的功能,只是一个补丁修订...

红薯
2009/08/22
2.9K
0
Apache Subversion 1.7.3 发布

Subversion是一个版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。 2012-02-12发布Subversion 1.7.3。上一个版...

fei
2012/02/12
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

初识flask

文档 0.10.1版本 http://www.pythondoc.com/flask/index.html 1.0.2版本 https://dormousehole.readthedocs.io/en/latest/ 安装flask $ pip3 install flaskCollecting flask Downloading......

yimingkeji
昨天
0
0
Akka系统《sixteen》译

Actor是一个封装状态(state)和行为(behavior)的对象,它们只通过交换消息通信(放入收件人邮箱的邮件)。从某种意义上说,Actor是最严格的面向对象编程形式,但它更适合将他们视为人:在与Act...

woshixin
昨天
0
0
技术工坊|如何开发一款以太坊钱包(深圳)

【好消息!】HiBlock区块链技术工坊已经成功举办了26期,其中北京1期,西安1期,成都2期,上海22期。经常有社区的小伙伴问定期举办技术工坊的除了上海以外,其他城市有没有?现在区块链技术工...

HiBlock
昨天
1
0
Redis 梳理笔记

安装 安装gccyum install gcc-c++下载传输到服务器上解压tar -xzvf *.tar.gzcd redis-3.2.9编译make安装 make PREFIX=/usr/local/redis install将配置文件拷贝出来cp redis...

晨猫
昨天
0
0
聊聊storm TridentWindowManager的pendingTriggers

序 本文主要研究一下storm TridentWindowManager的pendingTriggers TridentBoltExecutor.finishBatch storm-core-1.2.2-sources.jar!/org/apache/storm/trident/topology/TridentBoltExecut......

go4it
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部