linux cvs?linuxshell自动化运维
大家好,感谢邀请,今天来为大家分享一下linux cvs的问题,以及和linuxshell自动化运维的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
linux操作系统上cvs常用命令是那些
登陆cvs: cvs-d:pserver:xuquanxing@218.206.74.186:/home/cvsroot login将提示你输入密码,登陆成功后以后在登陆不需要密码
检出整个工程(必须先检出整个工程,才能进行其它的操作) cvs-d:pserver:xuquanxing@218.206.74.186:/home/cvsroot checkout mindquiz在执行update时可以转到本地相应目录直接 cvs update也可以在其它目录cvs update目录名
(下面是网络上找到)
1.登陆cvs: cvs-d:pserver:xuquanxing@218.206.74.186:/home/cvsroot login
Note:pserver是访问方式,如果服务器设置的是口令认证,则是 pserver。 username是 CVS服务器的用户名,可以根据你的设置修改; the_server_name是CVS服务器的名称或者IP地址; /home/cvsroot是你的CVS服务器的CVSROOT目录,根据你的CVS服务器设置做修改或者询问管理员.
这时候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 update的信息报告"cvs update"后在信息框里会列出你的操作,你的文件update的情况,这里是CVS使用的所有其它单字符信息性消息的列表: U [path]在本地机更新get到了服务器上最新的或者最新版本的文件。 P [path]像“U”一样,只是在update时你的网络带宽少的情况下CVS服务器所出现的提示。 M [path]这意味着您已经修改过该文件了;而且,有可能资源库中新的更改已成功地合并到该文件。 C [path]错误警报,"C"字符表明该文件存在冲突,需要在使用"commit"提交前解决这冲突。 A [path]该文件是计划要添加的,即添加了但尚未提交,这时你还使用update命令,CVS就会有这个提示,当你"commit"时,它被正式添加
到服务器库中,问题解决。 R [path]象"A"一样,"R"让您知道该文件计划要删除的,即删除了但尚未提交,这时你还使用update命令, CVS就会有这个提示,当你"
commit"后,该文件就会从服务器库中删除,问题解决。
Linux下常用cvs命令整理
Linux下常用cvs命令整理,需要的朋友可以参考下。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
cvs up filename提交修改
cvs ci filename确认修改
cvs log filename察看修改日志
cvs st filename察看文件状态
cvs rm filename将某个源文件物理删除
在linux上使用cvs命令
1)登陆CVS服务器:
cvs-d:pserver:username@host:/$CVSROOT login
然后系统会提示你输入密码。或直接使用:
cvs-d:pserver:user:pwd@host:/CVS login
2) checkout:
cvs-d:pserver:host:/CVSROOT checkout projectName
3)如果想省略上面的-d以及服务目录,执行:
export CVSROOT=:pserver:user@host:/cvsroot
4) update:
cvs update
cvs update-C(override and update)
5) cvs status:显示当前文件的更新状态.
linuxcvsagent是什么
linuxcvsagent是是一种控制用来保存公钥身份验证所使用的私钥的程序。根据查询相关公开信息显示:在登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到linuxcvs-agent程序中,通过使用环境变量,可定位代理并在登录到其他使用ssh机器上时使用代理自动进行身份验证。