`
mxsfengg
  • 浏览: 208757 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Linux下常用cvs命令整理

    博客分类:
  • java
阅读更多

1.登录:
$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 ‘log_message‘ ] :输入修改说明。
   [-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命令整理.docx

    【Linux下常用cvs命令整理】 CVS(Concurrent Versions System)是一种版本控制系统,用于管理软件项目中的源代码和其他文件的版本。在Linux环境中,CVS提供了多种命令来完成不同的任务,如登录、导入项目、导出...

    CVS使用手册大全(pdf)

    最后,"CVS的常用命令速查手册.pdf"是一份非常实用的工具,它整理了CVS的所有常用命令及其用法,包括`cvs add`、`cvs checkout`、`cvs commit`、`cvs diff`、`cvs update`等,便于用户快速查找和执行相应的命令。...

    Linux命令简写和全称

    - **示例**: `/usr/bin`存放常用命令。 #### /var - VARiable - **全称**: Variable - **用途**: 存放日志文件和其他可变的数据。 - **示例**: `/var/log`存放系统日志。 #### FIFO - FirstIn,FirstOut - **全称...

    CVS服务器设置指南

    此命令用于初始化一个位于`/home/cvsroot`目录下的CVS仓库。初始化后,还需要重启xinetd服务以使配置生效。 ```bash #service xinetd restart ``` 最后,使用`netstat -l | grep cvspserver`检查服务端口监听...

    GIT安装文件取代SVN和CVS

    与常用的版本控制工具 CVS, Subversion 等不同,它 采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的 速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git...

    一键清除SVN或CVS版本控制目录

    在某些情况下,用户可能需要移除这些控制,例如在清理项目文件、转移至其他版本控制系统或者仅为了整理工作空间。 描述中提到的 "NULL" 暂无具体信息,但通常清除SVN或CVS目录可能涉及以下步骤: 1. **识别受控...

    Linux程序设计知识点整理.docx

    ### Linux程序设计知识点整理 #### 一、Linux命令 **1、文件操作** - **列出目录内容**: `ls`, `dir`, `vdir` - `ls`: 显示目录下的文件列表,默认按照字母顺序排列。 - `dir` 和 `vdir`: 也用于列出目录内容,...

    12.Git面试真题-43页.pdf

    - **Linux环境下的Git命令**:在Linux环境下使用Git时,通常需要通过命令行来完成各种操作,如`git clone`用于克隆仓库,`git status`查看当前状态等。 - **GitHub/GitLab平台**:这两个平台提供了基于Web的Git仓库...

    git基础知识整理.pdf

    Git的常用命令包括`git init`用于初始化新的Git仓库,`git clone`用于复制远程仓库,`git add`用于将更改添加到暂存区,`git commit`用于提交更改到本地仓库,`git push`用于将本地更改推送到远程仓库,`git pull`...

    Git权威指南PDF完整版

    Git权威指南 目 录 前 言 第1篇 初识Git 第1章 版本控制的前世和今生/ 2 1.1 黑暗的史前时代/ 2 1.2 CVS—开启版本控制大爆发/ 5 ...34.1.1 Linux下cvs2svn的安装/ 492 34.1.2 Mac OS X 下 cvs2svn 的...

    Java基础教程1.pdf(2021年整理精品文档).pdf

    4. **Unix/Linux开发环境**:介绍了Unix系统的基础知识,包括常用命令的使用,以及如何在Unix环境下搭建Java开发环境,这对于跨平台的Java开发至关重要。 5. **Oracle数据库技术**:讲解了SQL语言的基础和高级特性...

    MyEclipse6的使用

    Linux/Unix 下使用 `startup.sh` 启动服务。 **1.4 JBoss 服务器的下载、安装和运行** - **下载**:访问 Red Hat 官网 ...

    Debian 参考手册

    - `/bin`:存放常用命令。 - `/sbin`:存放系统管理员使用的命令。 - **Debian发行版**: - **Stable**:最稳定的版本,推荐用于生产环境。 - **Testing**:即将成为下一个Stable版本的测试版。 - **Unstable ...

    git使用操作中文手册

    创建常用的Git命令别名。 **2.8 小结** 总结了Git基础操作的关键知识点。 #### 三、Git分支篇 **3.1 何谓分支** 介绍分支的基本概念和作用。 **3.2 基本的分支与合并** - **3.2.1 基本分支** 创建和切换分支...

    myeclipse入门教程

    - **运行**:通过`bin`目录下的`startup.bat`(Windows)或`startup.sh`(Linux/Mac)启动服务。 - **JBoss服务器的下载、安装和运行**: - **下载**:访问JBoss官网下载适合的版本。 - **安装**:解压压缩包...

    Eclipse中文教程

    - **跨语言、跨平台**:虽然最初设计用于 Java 开发,但 Eclipse 支持多种编程语言,并且可以在 Windows、Linux 和 macOS 等多个操作系统上运行。 - **Eclipse 版本介绍**: - **经典版**:主要面向 Java 开发者。 ...

    MyEclipse.6.Java.开发中文教程

    详细说明了如何从Oracle官网或其他可信渠道下载适用于Windows、Linux或Mac OS的JDK最新版本。 - **1.2.2 安装JDK** 分步骤指导用户完成JDK的安装过程,包括选择安装路径、接受许可协议等。 - **1.2.3 配置环境...

Global site tag (gtag.js) - Google Analytics