CVS 学习捷径

简介:
机器的环境变量
CVSROOT=:pserver:administrator:lili00okok@211.68.87.141:2401/Repository
cvsNT配置
如图cvsnt.bmp,cvsnt2.bmp
                                     cvsnt.bmp
                           cvsnt2.bmp
 
把cvs命令添加到系统的path
cvs -v 检查是否安装了cvs -v version
创建一个仓库 -d destination
unix cvs -d /home/repository init 
windows cvs -d c:\repository init
导入项目
cvs import project_name vendor_tag release_tag
cvs import -m""  sesame sesame initial
签出项目
cvs co sesame
查看文件状态
cvs status color.txt
查看本地文件和仓库中的差别
cvs diff --side-by-side -rHEAD color.txt >D:\a.txt
提交修改
cvs commit -m"Client wants 4 more colors!"
查看历史记录 -r revision
cvs log -r1.5 color.txt
冲突解决办法1
cvs update 更新本地副本
cvs commit
冲突解决办法2
cvs update 
<<<<本地的内容
ichi
=======
uno
>>>>>>>>1.5仓库的代码
签出文件  
cvs checkout client server
按照模块
cvs co client/template
按照版本号
cvs co -r REL_1_3 client
按照日期-D by Date
cvs co -D 2003-06-04 client
更改签出目录-d target Directory
cvs co -r EEL_1_34 -d rell client
更新包括新添加的文件
cvs update -d
有选择的更新
cvs update File1.java template
减少更新输出 -q 在update 之前
cvs -q update -d
全局命令   局部命令 -q quiet
cvs -q -d /usr/repository checkout -d temp
添加文件夹
cvs add timelib
添加文件
cvs add Time.java
添加二进制文件 -kb keyword binary
cvs add -kb DataFormat.doc
提交之前发现二进制文件错误
cvs remove DataFormat.doc
cvs add -kb DataFormat.doc
提交之后发现错误
--修改仓库标志
cvs admin -kb DataFormat.doc
--重置本地工作副本标志
cvs update -A DataFormat.doc
--复制一个正确的文件覆盖这个文件
cp  ../DataFormat.doc DataFormat.doc
--提交
cvs commit -m"reset -kb flag"
文件特性cvswrappers
 
--导入文件时使用-W define Wrapper
cvs import -W "*.jar -k 'b'" -W"*.doc -k 'b'" -m""
--使用cvswraper
cvs co CVSROOT
编辑cvswrappers文件添加
*.jar -k 'b'
*.doc -k 'b'
释放本地工作区的同时删除文件
cvs release -d CVSROOT
忽略一个目录下的文件
cvs add .cvsignore
重新命名文件
mv contacts.java contactmgr.java
--删除仓库中的文件
cvs remove contacts.java
--添加一个新的文件
cvs add contactmgr.java
cvs commit -m""
--如果添加一个相同名字的文件版本号不是从1.1开始
--clearAllFlags -A标志清楚所有的标记,并且把指定文件的状态恢复到河仓库文件的状态一直
cvs update -A

重新命名目录
--创建新目录,把旧目录的文件移到新目录,添加新目录,添加新目录下的文件 提交
--更新的时候带 -P prune directories
cvs update -P
查看修改了什么
--本地文件与本地副本最新文件的差别
cvs diff File1.java =
--本地文件与仓库最新文件的差别
cvs diff -rHEAD file1.java
--本地文件与指定版本的差别
cvs diff -r1.1 file1.java
--两个版本之间的差别
cvs diff -r1.1 -r1.2 file1.java
--context diff
cvs diff -c file1.java
--side-by-side
cvs diff --side-by-side file1.java
diff and patch
--u unified diff
cvs diff -u >diff.list
--patch
patch -p0 <diff.list
处理变更冲突
--删除本地副本,重新更新
--保存文件重新提交
--移出标记然后提交
检查变更历史
cvs log file1.java
cvs log -r 1.2 -r 1.4 file
cvs log -d "2 days ago" -d today
逐行的历史记录
cvs annotate file.java
cvs ann file.java
cvs ann -r file.java
cvs ann -D file.java
移除修改
cvs log file1.java
cvs diff -c -r1.3 -r1.4 file1.java
-- -j join from  使用相反的顺序指定版本号 计算从高版本到低版本需要的修改,应用到本地副本
cvs update -j1.4 -j1.3
cvs update -j after_change -j before_change
--提交变更
cvs commit
7.标记的使用
7.1发布标记
Release branch BR_rel BR_1_0
cvs rtag -b BR_1_0 project
分支中工作
cvs  co -r BR_1_0 -d br1.0 project
7.2生成发布版本
Release REL_rel REL_1_0
cvs tag REL_1_0
cvs co -r REL_1_0 -d rel1.0 project
7.3发布程序中修复程序缺陷
Pre bug fix PRE_track PRE_13145
Post bug fix POST_track POST_13145
签出文件
cvs co -r BR_1_0 -d br1.0 project
标记
cvs tag PRE_1234
cvs commit -m "Fix PRE1234"
标记
cvs tag POST_1234
切换主干
cd project
cvs update
合并发布版本的缺陷到主干代码
cvs -j PRE_1234 -j POST_1234 update
cvs commit -m"Apply fix for PR1234 from BR1.0"
7.4实验性分支
Deploper TRY_initial_yymmdd TRY_DT_030631
Experiment        TRY_AH_030631
cvs commit-m""
创建发布分支
cvs rtag -b TRY_DT_030925 project
更新文件
cvs update -r TRY_DT_030925
清除其他的标记
cvs update -A
cvs co -r TRY_DT_092503 -d project_exp project
合并实验分支到主干代码
合并之前都要转到相应的主干代码中合并一个分支中所有的代码稍微有点不同
cvs update -j TRY_DT_092503
8创建初始项目
8.1导入项目
cvs import -m"" wibble wibble initial
                名称    开发商 开发商版本号
顶级目录结构
顶级目录中的文件
1.readme文件 要解决的商业问题,运用得基本技术
2.building 包含一些简单的指示,告诉人们怎么构建项目
3.glossary 术语表
顶级目录
doc/所有项目文档,备忘录电子邮件 doc/bibliography参考书目
data/要填充到数据库的数据
db/与schema 有关的所有数据 对于每次更新,
 让数据库管理员创建sql更新脚本,这个脚本既要更新schema也能够迁移数据
src/项目的原文件
util/各种项目专用的实用程序工具以及脚本程序,tools/
vendor/第三方库或者头文件
vendorsrc/第三方的库的原代码
wibble
  |
  |-readme
  |-building
  |-glosarry
  |-doc/
  |-data/
  |-db/
  |-src/
  |-util/
  |-vendor/
  |-vendorsrc/ 
  
9使用模块
 划分子项目 
  竖直划分:客户端,服务器端
  水平划分:数据库代码,计算模块,外部系统接口
 cvs co CVSROOT
 modules
 
 alias 模块
 client -a proj1/client
 
 cvs co client
 得到的是
 project1/client
 
 regular模块
 
 clnt proj1/client half/sample
 cvs co clnt
 
 得到的目录是
 clnt/
 内容是两个目录的综合
 
 ampersan模块
 halfruby half/sample
 fullruby full/sample
 allruby &halfruby &fullruby
 
  得到的目录是
 allruby
  |-halfruby
  |-fullruby
 
 带有原代码的库
 --导入开发商新发布的版本
 -ko keyword off
 cvs import -ko -m"" vendorsrc/fsf/readline FDF_RL RL_4_4
 
 升级版本导入
 cvs import -ko -m"" vendorsrc/fsf/readline FDF_RL RL_4_5
 本次导入相当于是更新
 
 合并修改
 cvs co -jRL_4_4 -jRL_4_5 vendorsrc/fsf/readline
 
 cvs commit -m""
 
 几个主要的步骤:
 1.导入开发商的代码:
  cvs import -ko -m"load" vendor_module vendor release_tag
 2.签出开发商代码到一个本地工作区
  cvs co vendor_module
 3.修改并提交修改的结果
  cvs commit -m"summary of changes"
 4.导入一个新的版本 
  cvs import -ko "update" vendor_module vendor release_tag
 5.解决开发商发布的新版本和我们修改的代码之间的冲突:
  cvs co -jrelease_1 -jreleae_2 vendor_module
 6.将修改的代码保存到仓库
  cvs commit -m"summary of changes"
本文转自凌辉博客51CTO博客,原文链接http://blog.51cto.com/tianli/32266如需转载请自行联系原作者

lili00okok
相关文章
|
7月前
|
Linux 网络安全 开发工具
1.Git使用技巧-基础原理
1.Git使用技巧-基础原理
69 0
|
4月前
|
存储 Shell 开发工具
Git 入门:从零开始掌握版本控制的艺术
【8月更文第16天】 在软件开发中,版本控制是一项至关重要的技能。它帮助开发者追踪文件的变化历史,并且可以在多个开发者之间协同工作。Git 是目前最流行的分布式版本控制系统之一。本文将带你从零开始学习 Git 的基本使用方法。
65 0
|
7月前
|
Java Linux 数据安全/隐私保护
SVN魔法笔记:工作中不可或缺的命令宝典
SVN魔法笔记:工作中不可或缺的命令宝典
81 2
|
算法 Java Linux
注意!不看太后悔了!未来工作中如何多人协作?让我用git给你演示!
目前,我们的仓库中只有一个 master 主分支,但在实际的项目开发中,在任何情况下其实都是不允许直接在 master 分支上修改代码的,这是为了保证主分支的稳定。这时推送失败,因为你的小伙伴的最新提交和你推送的提交有冲突,解决办法也很简单,Git已经提示我们,先用 git pull 把最新的提交从origin/dev 抓下来,然后,在本地进行合并,并解决冲。要说明的是,我们切换到的是本地的 dev 分支,根据示例中的操作,会将本地分支和远程分支的进行关系链接。冲突,就使用我们之前讲的冲突处理解决掉冲突。
151 0
|
缓存 安全 Unix
【知识】团队开发技能: Git
【知识】团队开发技能: Git
136 0
【知识】团队开发技能: Git
|
缓存 Ubuntu Linux
|
存储 安全 IDE
Git 入门看这一篇就够了!程序员防被diss必会技能走一波
今天简单讲下 Git 的实现原理,知其所以然才能知其然;并且梳理了日常最常用的 12 个命令,分为三大类分享给你。 如果觉得不错的话,一定要点个关注哦 本文的结构如下: 作者和开发原由 Git 的数据模型 常用命令 资源推荐 作者和开发原由 Talk is cheap. Show me the code. 这句话就出自 Linux 和 Git 的作者Linus Torvalds。 原本 Linux 内核的版本控制系统是用的 BitKeeper,然而 2005 年,BitMover 公司不再让 Linux 开发团队免费使用了。。 Linus 一听,不给用了?老子自己写!
Git 入门看这一篇就够了!程序员防被diss必会技能走一波
|
安全 机器人 Java
|
缓存 编译器 开发工具
|
存储 JavaScript 数据可视化
前端利器躬行记(5)——Git
  Git是一款开源的分布式版本控制系统,它的出现和Linux紧密相关。Linux内核项目组为了能更好地管理和维护Linux内核开发,于2002年开始启用商业的分布式版本控制系统BitKeeper。虽然软件开发商授权了Linux社区能免费使用,但是好景不长,到了2005年,BitKeeper的开发商由于某些原因终止了与Linux社区的合作关系。于是Linux的作者Linus Torvalds就决定开发一款能替代BitKeeper的分布式版本控制系统(即Git),在花费十天的时间后发布了Git的第一个版本。
前端利器躬行记(5)——Git

相关实验场景

更多