cvs 命令行的学习
简单的小应用举例
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"
分享到:
相关推荐
虽然CVS命令行工具功能强大,但许多开发者更喜欢使用图形化用户界面(GUI)工具,如TortoiseCVS,它可以提供更直观的操作界面。安装TortoiseCVS后,其图标将集成到Windows资源管理器中,使CVS操作变得更简单。 7. ...
6. **CVS命令行界面**:学习使用CVS命令行工具,例如` cvs add `用于添加新文件到版本库,` cvs remove `用于删除文件,` cvs diff `比较文件差异,以及` cvs status `查看文件状态等。 7. **CVS与源码控制**:CVS...
5. **CVS命令行操作**:深入理解CVS的命令行工具,包括`cvs checkout`、`cvs commit`、`cvs update`、`cvs diff`等常用命令,以及如何处理冲突和回滚更改。 6. **CVS与IDE集成**:了解如何在Eclipse、NetBeans等...
2. 使用CVS命令行工具或集成开发环境(如NetBeans)连接到CVS服务器。 3. 从服务器签出项目的一个副本到本地。 4. 在本地编辑代码,完成任务。 5. 使用CVS客户端将更改提交回服务器,同时记录更改信息。 6. 如果有...
3. **CVS命令行操作**:掌握CVS的主要命令,如`cvs init`用于创建仓库,`cvs checkout`获取项目副本,`cvs commit`提交更改,`cvs update`同步最新版本,以及`cvs diff`查看差异等。 4. **工作流程**:学习CVS的...
创建仓库通常涉及在服务器上设定一个目录,并通过CVS命令行工具初始化。 4. **导入项目**:在仓库中导入项目,你可以使用`cvs import`命令。这一步会将项目文件树结构放入CVS控制下,同时记录首次导入的作者信息。 ...
7. **CVS命令行使用**:尽管WinCVS提供图形界面,但了解CVS命令行操作也很重要,例如`cvsexport`、`cvsimport`、`cvslog`等,它们在某些场景下更为灵活和高效。 8. **源码管理实践**:文章可能还会涵盖如何在实际...
七、CVS命令行工具 CVS提供丰富的命令行工具,如`cvs diff`查看文件差异,`cvs log`查看版本历史,`cvs status`检查文件状态等。理解这些命令有助于更高效地使用CVS。 八、CVS与现代版本控制系统对比 虽然CVS在历史...
使用CVSNT或TortoiseCVS命令行命令 除了图形界面外,还可以通过命令行工具来操作CVS。 - **常用命令**: - `cvs login`: 登录CVS仓库。 - `cvs checkout`: 从仓库中检出文件。 - `cvs update`: 更新已检出的...
WinCVS是一个图形化的CVS客户端,而Cygwin则是一个提供Linux环境的模拟层,其中包含了CVS命令行工具。这里我们主要讨论WinCVS的安装。 三、安装WinCVS 1. 访问WinCVS的官方网站或可靠的下载站点,下载最新版本的...
安装完成后,确保CVS命令行工具已经可以正常使用。 **步骤2:创建CVS服务器** 在服务器端,你需要设置CVS仓库。这通常涉及到安装CVS服务端软件,并配置相应的仓库目录。仓库是存储项目源代码的地方,可以理解为CVS...
3. **CVS命令行操作** - `cvs checkout`:从仓库获取代码。 - `cvs update`:同步仓库中的更新。 - `cvs commit`:提交本地更改。 - `cvs diff`:查看文件差异。 - `cvs tag`:添加标签。 - `cvs branch`:...
【标签】:“cvs wincvs 命令”表明文档的核心内容是关于CVS的基本操作,特别是WinCVS图形界面的使用和Linux终端中的CVS命令行操作。WinCVS是Windows上流行的CVS图形用户界面,而“命令”则意味着文档会详细解释如何...
然后,客户端可以通过CVS命令行工具连接到服务器,进行版本的检出、提交、更新等操作。例如,用户可以使用`cvs checkout`命令下载项目,`cvs commit`提交改动,`cvs update`同步仓库的最新版本。 CVS提供了强大的...
7. **CVS命令行界面** - 学习CVS的命令行语法,理解各种选项和参数。 8. **CVS与IDE集成** - 如何在Eclipse、NetBeans等集成开发环境中配置和使用CVS。 9. **安全与备份** - 使用SSL加密通信,保护源代码安全。...
3. **CVS命令行操作**:详细解析各种CVS命令,如`cvs checkout`(获取工作拷贝)、`cvs commit`(提交更改)、`cvs update`(同步仓库变化)、`cvs diff`(查看差异)和`cvs merge`(合并更改)等,以及它们的参数和...
1. **获取源码**:首先,需要通过CVS命令行客户端获取项目的最新源码。 2. **提交更改**:在完成开发或测试后,可以通过CVS将更改提交到中央仓库。 3. **清理工作区**:为了保持工作区的整洁,可以使用CVS提供的清理...