Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Concurrent Versions System (CVS) 版本控制系统简介 车东  [email_address]
多人协同开发中的问题 <ul><li>同步的最新修改 </li></ul><ul><li>文件的版本回溯 </li></ul><ul><li>多人同时修改同一个文件产生的冲突 </li></ul><ul><li>项目的分支开发 </li></u...
正确的运行模式 <ul><li>用一个的代码管理库集中管理代码同步 </li></ul>版本库 user1 user2 user3
什么是  CVS <ul><li>Concurrent Version System </li></ul><ul><li>并发版本控制系统 </li></ul><ul><li>Unix 端服务器 </li></ul><ul><li>http:/...
术语 <ul><li>CVSROOT:  代码库  </li></ul><ul><li>Repository:  项目包 </li></ul><ul><li>Version:  版本号 </li></ul><ul><li>Branch:  版本...
CVS 开始第一个项目 <ul><li>环境变量 $CVSROOT : </li></ul><ul><ul><li>bash: CVSROOT=/home/cvsroot ; export CVSROOT   </li></ul></ul><u...
CVS 的使用命令 <ul><li>cvs checkout proj_name  导出项目包 </li></ul><ul><li>cvs commit –m “write comments” file_name  提交更新 </li></ul...
CVS 的使用流程 <ul><li>cvs checkout( 首次导出 )   cvs up( 同步代码 )  cvs commit( 提交修改 )  cvs up (同步代码)  cvs commit( 提交修改 )….. </li...
CVS 的远程用户认证 <ul><li>通过 SSH 远程登陆 CVS :  </li></ul><ul><li>CVSROOT=:ext:$USER@test.server.address#port:/path/to/cvsroot CVS_...
CVS Web 界面访问 <ul><li>方便文件版本跟踪 </li></ul><ul><ul><li>http://www. freebsd .org/~ fenner / cvsweb / </li></ul></ul><ul><ul><l...
CVS vs VSS <ul><li>CVS update/commit </li></ul><ul><li>CVS 没有锁定机制 edit/unedit </li></ul><ul><li>VSS get_lastest_version /c...
WinCVS <ul><li>http://www. wincvs .org/ </li></ul><ul><li>Cvs Folders->Macros folder->Change Root   </li></ul><ul><li>Cvs ...
CVSTrac <ul><li>WEB 界面的 </li></ul><ul><li>CVS 用户管理 </li></ul><ul><li>CVS WEB 浏览 </li></ul><ul><li>BUG TRACKING </li></ul><...
相关资源 <ul><li>CVS HOME : http://www.cvshome.org </li></ul><ul><li>CVS FAQ : http://www.loria.fr/~molli/cvs-index.html 相关网站 ...
感谢
Upcoming SlideShare
Loading in …5
×

miywh

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

miywh

  1. 1. Concurrent Versions System (CVS) 版本控制系统简介 车东 [email_address]
  2. 2. 多人协同开发中的问题 <ul><li>同步的最新修改 </li></ul><ul><li>文件的版本回溯 </li></ul><ul><li>多人同时修改同一个文件产生的冲突 </li></ul><ul><li>项目的分支开发 </li></ul><ul><li>文件权限控制 </li></ul>
  3. 3. 正确的运行模式 <ul><li>用一个的代码管理库集中管理代码同步 </li></ul>版本库 user1 user2 user3
  4. 4. 什么是 CVS <ul><li>Concurrent Version System </li></ul><ul><li>并发版本控制系统 </li></ul><ul><li>Unix 端服务器 </li></ul><ul><li>http://www. cvshome .org </li></ul><ul><li>其他平台的客户端 </li></ul><ul><li>http://www. wincvs .org/ </li></ul><ul><li>FAQ </li></ul><ul><li>http://www. loria . fr /~ molli / cvs -index.html </li></ul>
  5. 5. 术语 <ul><li>CVSROOT: 代码库 </li></ul><ul><li>Repository: 项目包 </li></ul><ul><li>Version: 版本号 </li></ul><ul><li>Branch: 版本分支 </li></ul>
  6. 6. CVS 开始第一个项目 <ul><li>环境变量 $CVSROOT : </li></ul><ul><ul><li>bash: CVSROOT=/home/cvsroot ; export CVSROOT </li></ul></ul><ul><ul><li>tcsh: setenv CVSROOT /home/cvsroot </li></ul></ul><ul><li>CVSROOT 库初始化: cvs init </li></ul><ul><li>项目包首次导入: cvs import </li></ul><ul><ul><li>cvs import -m &quot;write some comments here&quot; project_name vender_tag release_tag </li></ul></ul>
  7. 7. CVS 的使用命令 <ul><li>cvs checkout proj_name 导出项目包 </li></ul><ul><li>cvs commit –m “write comments” file_name 提交更新 </li></ul><ul><li>cvs update –m “write comments” file_name 同步库 </li></ul><ul><li>cvs log file_name 查看修改日志 </li></ul><ul><li>cvs diff –r1.2 –r1.3 file_name 查看文件版本区别 </li></ul><ul><li>cvs add file_name 添加新文件到项目包 </li></ul><ul><li>cvs remove file_name 从项目包里删除文件 </li></ul>
  8. 8. CVS 的使用流程 <ul><li>cvs checkout( 首次导出 )  cvs up( 同步代码 )  cvs commit( 提交修改 )  cvs up (同步代码)  cvs commit( 提交修改 )….. </li></ul><ul><li>恢复到一个旧的版本: </li></ul><ul><li>如果用 cvs update -r1.2 file.name </li></ul><ul><li>这个命令是给 file.name 加一个 STICK TAG : &quot;1.2&quot; ,虽然你的本意只是想将它恢复到 1.2 版本 </li></ul><ul><li>正确的恢复版本的方法是: cvs update -p -r1.2 file.name >file.name </li></ul><ul><li>如果不小心忘了 -p 加成 STICK TAG 的话:用 cvs update –A 解决 </li></ul>
  9. 9. CVS 的远程用户认证 <ul><li>通过 SSH 远程登陆 CVS : </li></ul><ul><li>CVSROOT=:ext:$USER@test.server.address#port:/path/to/cvsroot CVS_RSH=ssh; export CVSROOT CVS_RSH </li></ul><ul><li>CVS 服务器端 SSH 端口不在缺省的 22 </li></ul><ul><li>假设服务器端的 ssh 端口是 34567 ,客户端,创建 ssh_cvs </li></ul><ul><li>#!/usr/bin/sh </li></ul><ul><li>ssh -p 34567 $* </li></ul><ul><li>然后: chmod +x ssh_cvs 设置 CVS_RSH=ssh_cvs; export CVS_RSH </li></ul>
  10. 10. CVS Web 界面访问 <ul><li>方便文件版本跟踪 </li></ul><ul><ul><li>http://www. freebsd .org/~ fenner / cvsweb / </li></ul></ul><ul><ul><li>一个功能更丰富的版本 http://www.spaghetti-code.de/software/ linux / cvsweb / </li></ul></ul>
  11. 11. CVS vs VSS <ul><li>CVS update/commit </li></ul><ul><li>CVS 没有锁定机制 edit/unedit </li></ul><ul><li>VSS get_lastest_version /check_in </li></ul><ul><li>checkout/undo checkout </li></ul>通用的标记 $Header$ $Author$ $Date$ $Revision$
  12. 12. WinCVS <ul><li>http://www. wincvs .org/ </li></ul><ul><li>Cvs Folders->Macros folder->Change Root </li></ul><ul><li>Cvs Admin->Preferences cvs server: username@server.ip.address:/path/to/cvsroot Authenitication: passwd at cvs server </li></ul><ul><li>Cvs Admin->Login… </li></ul><ul><li>Cvs Admin->Checkout module… </li></ul>
  13. 13. CVSTrac <ul><li>WEB 界面的 </li></ul><ul><li>CVS 用户管理 </li></ul><ul><li>CVS WEB 浏览 </li></ul><ul><li>BUG TRACKING </li></ul><ul><li>Wiki 讨论版 </li></ul>
  14. 14. 相关资源 <ul><li>CVS HOME : http://www.cvshome.org </li></ul><ul><li>CVS FAQ : http://www.loria.fr/~molli/cvs-index.html 相关网站 : http://directory.google.com/Top/Computers/Software/Configuration_Management/Tools/Concurrent_Versions_System/ </li></ul><ul><li>CVS 免费书 : http://cvsbook.red-bean.com/ </li></ul><ul><li>CVS 命令的速查卡片: http://www.refcards.com/about/cvs.html </li></ul><ul><li>WinCVS: http://www.wincvs.org </li></ul><ul><li>CVSTrac: A Web-Based Bug And Patch-Set Tracking System For CVS http://www.cvstrac.org </li></ul>
  15. 15. 感谢

×