




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
版本控制讲师:梁桐版本控制讲师:梁桐实例某研发团队2011研发了一款BBS系统在开发前,项目经理带来了一些基础代码经过3个月研发,发布了BBS1.0版本因为销售业绩很好,所有决定继续研发v2.0版但有客户使用使用中发现v1.0有严重Bug,不修复将造成严重后果研发团队安排部分人去修复,其他人继续研发v2.0Bug修复后,发布了v1.1版,没有造成严重损失Bug修复后需要将整合到v2.0中,保证今后的发布的版本中不会出现此问题实例某研发团队2011研发了一款BBS系统版本控制课件lt为什么学习版本控制?参与过2人以上的软件项目开发?开发过程中程序是否具有版本控制?如果不使用版本控制还会出现什么问题?硬盘是否坏过。根据经验法则再加上墨菲定理,坏事情往往都发生在最重要的时刻。为什么学习版本控制?参与过2人以上的软件项目开发?没有版本控制?代码管理混乱备份多个版本,占用磁盘空间大解决代码冲突困难容易引发BUG难于追溯问题代码的修改人和修改时间难于恢复至以前正确版本无法进行权限控制项目版本发布困难没有版本控制?代码管理混乱版本控制课件lt什么是版本控制?版本控制(RevisionControl):是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。也是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。通过文档控制(documentationcontrol),能记录任何工程专案内各个模组的改动历程,并为每次改动编上序号。什么是版本控制?版本控制(RevisionControl)版本控制软件CVS(ConcurrentVersionsSystem)代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和使用者协同工作。VSS(VisualSourceSafe)只能在windows下,作为MicrosoftVisualStudio的一名成员,它主要任务就是负责项目文件的管理Git是用于Linux内核开发的版本控制工具。它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linuxkernel这样的大项目来说自然很重要。Git最为出色的是它的合并跟踪(mergetracing)能力。。。。。。。SVN(Subversion),是一个开放源代码的版本控制系统,采用了分支管理系统,它的设计目标就是取代CVS。版本控制软件CVS(ConcurrentVersions
1、版本控制入门简介2、SVN入门3、SVN服务器端与客户端的使用SVN安装SVN仓库建立与启动[★★★]SVN命令[★★★★]4、TortoiseSVN安装5、SVN权限配置[★★]6、TortoiseSVN基本操作[★★★★☆]【重点】7、SVN与第三方Eclipse整合[★★★★★]【重点】8、SVN与第三方Apache整合[★★]9、SVN版本控制的前身CVS简介[★★]10、SVN目录规范[★★]目标1、版本控制入门简介目标SVN的特性统一的版本号。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。重命名、复制、删除文件等动作都保存在版本历史记录当中。对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。分支的开销非常小。优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。支持元数据(Metadata)管理。每个目录或文件都可以定义属性(Property),它是一些隐藏的键值对,用户可以自定义属性内容,而且属性和文件内容一样在版本控制范围内。支持FSFS和BerkeleyDB两种资料库格式。不足:只能设置目录的访问权限,无法设置单个文件的访问权限。SVN的特性统一的版本号。CVS是对每个文件顺序编排版本号,SVN=版本控制+备份服务器SVN
SVN服务器运行方式独立服务器方式:svnserve借助Apache方式:mod_dav_svnSVN版本数据存储方式BDB(BerkeleyDB):数据库方式FSFS:文件方式(推荐)SVN运行方式与存储方式SVN服务器运行方式SVN运行方式与存储方式版本控制课件ltSubversion组件服务器组件(管理员使用)svnadmin:用来创建、调整或修改svn档案库的工具mod_dav_svn:ApacheHTTP服务器的一个插件,使版本库可以通过网络访问svnserve:一个单独运行的服务器程序,可以作为守护进程或由SSH调用。这是另一种使版本库可以通过网络访问的方式。客户端组件(用户使用)svn:命令行客户端程序,这是用来管理数据的主要工具Subversion组件服务器组件(管理员使用)SVN版本控制策略1拷贝-修改-合并方案cvs采用SVN版本控制策略1拷贝-修改-合并方案SVN版本控制策略2拷贝-修改-合并方案SVN版本控制策略2拷贝-修改-合并方案VSS控制策略锁定-修改-解锁方案(VSS)VSS控制策略锁定-修改-解锁方案(VSS)Subversion安装Subversion软件下载安装或/我们使用的版本Setup-Subversion-1.6.5.msi验证是否安装成功svnserve––versionSubversion安装Subversion软件下载安装Subversion建立仓库建立svn仓库(单仓库、多仓库)命令svnadmincreate仓库名称例如:svnadmincreateE:\software\repository\svn\itcast仓库目录说明db目录:就是所有版本控制的数据存放文件hooks目录:脚本文件的目录locks目录:放置subversion文件库锁定数据的目录,用来追踪存取文件库的客户端format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)Subversion建立仓库建立svn仓库(单仓库、多仓库Subversion启动1cmd命令行启动svnserve–d–r文档仓库路径-d后台执行-r版本库的根目录例如:svnserve-d-rF:\software\repository\svn\itcastsvn端口号3690使用netstat–an
查看svn是否启动成功协议:tcp/ipSubversion启动1cmd命令行启动Subversion启动2windows服务自动启动利用xp、2000以上的系统自带的工具servicecontrol,执行文件sc.exesccreateSVN-Servicebinpath="E:\software\svn\bin\svnserve.exe--service-rE:\software\repository\svn"displayname="SVN-Service"start=autodepend=Tcpipbinpath指定svnserve的路径和命令start=auto表示服务自动启动。注意:等于号的左边无空格,而右边必须有一个空格Displayname描述、start启动方式、depend依存关系在此命令中-r(--root)项目版本仓库的根目录启动服务netstartSVN-Service删除服务scdeleteSVN-Service查看服务是否添加成功,可以选择windows控制面板管理工具服务会发现列表中有SVN-service服务Subversion启动2windows服务自动启动SVN命令1svncheckout从版本库检出一个工作拷贝格式:svncheckoutURL[@REV]...[PATH]例如:svncheckoutsvn://localhost/itcastE:\develop\workroom\user1说明:@REV,与-r功能相同,指定检出的版本号…,同时检出多个工作拷贝svncommit将改动的文件提交到版本库格式:svncommit[path]例如:svncommit-m“message"readme.txtsvnupdate更新你的工作拷贝例如:svnupdate-r1readme.txt(更新到指定版本)svnadd想版本库中添加新文件例如:svnadd*--force(递归)例如:svnadd--depth=emptyonlydir(尽添加文件夹)svninfo显示本地或远程条目的信息svnhelp|svnhelp…获取帮助信息SVN命令1svncheckout从版本库检出一个工作拷SVN命令2svndelete从版本库中删除文件和目录。例如:svndelete-m"delete"svn://localhost/oa/readme.txt例如:svndelete--forcefile3.txtsvnrevert将工作副本文件恢复到原始版本(恢复大部份的本地修改)。svnlist列出版本库中的目录内容。例如:svnlistsvn://localhost/oasvnstatus显示工作副本中目录与文件的状态。未指定参数时,只显示本地修改的条目例如:svnstatus--show-updates--verbose||-u-vsvncopy在工作副本或版本库中复制数据,保留历史。格式:svncopySRC[@REV]...DSTsvnmove在工作副本或版本库中移动或改名文件或目录。格式:svnmoveSRC...DSTsvnmerge将两个源差异应用至工作副本。格式:mergesourceURL1[@N]sourceURL2[@M][WCPATH]例如:svnmerge--reintegratesvn://localhost/oa/branches/fixedSVN命令2svndelete从版本库中删除文件和目录。SVN命令3svnswitch—把工作拷贝更新到别的URL格式:svnswitchURL[@PEGREV][PATH]svnswitch--relocateFROMTO[PATH...]例子:svnswitch--relocatesvn://localhost/bbs1svn://localhost/bbs.
svnmkdir创建一个纳入版本控制的新目录格式:svnmkdirPATH...svnmkdirURL...例子:svnmkdirbranches
共性:如果出现URL,一般需要“日志信息”删除密码信息:windows:C:\DocumentsandSettings\Administrator\ApplicationData\Subversion\authlinux下:rm-rf~/.subversion/authSVN命令3svnswitch—把工作拷贝更新到别的USVN基本交互流程图checkoutupdatecommitSVN基本交互流程图checkoutupdatecommitTortoiseSVN介绍TortoiseSVN是Subversion版本控制系统的一个免费开源客户端。TortoiseSVN是Subversion的windows扩展。它使你避免接触Subversion枯燥而且不方便的CommandLine。它完全嵌入WindowsExplorer,使用时只需在正常的窗口里右键操作就可以了TortoiseSVN介绍TortoiseSVN是SubveTortoiseSVN安装TortoiseSVN下载安装/downloads我们安装版本TortoiseSVN-7493-win32-svn-1.6.6.msiTortoiseSVN汉化/downloadsLanguagePack_7493-win32-zh_CN.msi64位系统TortoiseSVN-2068-x64-svn-1.7.0.msiLanguagePack_2068-x64-zh_CN.msiTortoiseSVN安装TortoiseSVN下载安装Subversion权限配置svnserve.conf定义所有认证和授权政策anon-access匿名用户【none/read/write】例如:anon-access=noneauth-access授权用户【none/read/write】例如:auth-access=writepassword-db用户保存文件例如:password-db=passwdauthz-db权限管理文件例如:authz-db=authzsasl认证(了解)passwd存放项目成员账户信息一行一个用户,用户名和密码使用等号隔开authz主要是做复杂的群组权限控制给组授权是必须使用@多仓库:[repository:/baz/fuz]单仓库:[/foo/bar]Subversion权限配置svnserve.conf定义TortoiseSVN图标正常状态新检出的工作复本提交过程中出现冲突已修改上次更新复本需要提交文件设置了svn:needs-lock属性,svn会让此文件只读,直到获得文件锁拥有了文件锁文件或目录已纳入到版本控制新添加的文件,且没有纳入到版本控制设置needs-lock,properties/new/svn:needs-lock设置logminsize,properties/new/tsvn:logminsize忽略所选项已删除,还没有提交的文件TortoiseSVN图标正常状态提交过程中出现冲突已修改文版本控制课件ltTortoiseSVN其他操作Showlog:查看日志Repo-browser:查看文档仓库Checkformodifications:查看修改项Revisongraph:版本图表Editconflicts:编辑冲突Resolved:已解决冲突Updatetorevision:更新到指定版本。HEADrevision最新版本Rename:重命名Delete:删除Revert:还原Getlock:获得锁 /Releaselock:释放锁Add:添加到版本库Properties:属性配置Settings:参数设置
TortoiseSVN其他操作Showlog:查看日志SVN与Eclipse整合下载SVN插件()我们使用版本eclipse_svn_site-1.6.5.zip解压到一个文件夹1、进入MyEclipse8.5安装目录中dropins目录并创建一个svn.link(文件名任意)的文件。 内容为:path=解压缩路径 例如:path=E:\\java\\IDE\\MyEclipse8.5\\svn2、进入eclipse安装目录中links目录并创建一个svn.link(文件名任意)的文件。中英文切换configuration/config.ini文件中添加以下语句1、osgi.nl=en_US2、osgi.nl=zh_CNSVN与Eclipse整合下载SVN插件(http://suSVN与Apache整合1下载Apache()我们使用版本apache_2.2.14-win32-x86-no_ssl.msi测试安装成功:http://localhost打开Apache安装目录下Apache2.2\conf\httpd.conf配置文件将下列2行前面的#移除(第83行)LoadModuledav_modulemodules/mod_dav.soLoadModuledav_fs_modulemodules/mod_dav_fs.so并同时在上面两行下面添加以下两行(一定放在这个位置)LoadModuledav_svn_modulemodules/mod_dav_svn.soLoadModuleauthz_svn_modulemodules/mod_authz_svn.so找到Subversion安装目录下的以下两个文件bin/mod_authz_svn.sobin/mod_dav_svn.so复制到Apache安装目录下modules目录中SVN与Apache整合1下载Apache(http://wSVN与Apache整合2使用Apache安装目录下的bin/htpasswd.exe可执行性文件来生成授权文件,第一次生成使用-cb参数:格式:htpasswd–cb[filename][username][password]例如:htpasswd–cbpasswd.apacheuser1pwd参数说明:-c创建一个加密文件-b在apachehtpasswd命令行中一并输入用户名和密码而不是根据提示输入密码-m默认apachehtpasswd命令采用MD5算法对秘密进行加密-dapachehtpasswd命令采用CRYPT算法对密码进行加密-sapachehtpasswd命令采用SHA算法对密码进行加密将生成的passwd.apache文件移动到svn版本库中\conf目录下SVN与Apache整合2使用Apache安装目录下的binapache安装目录下的conf\hffpd.conf文件的最后面加入#配置虚拟目录<location/svn/itcast>#引用远程访问模块DAVsvn#项目版本库路径SVNPathE:/software/repository/svn/bbs#授权文件AuthzSVNAccessFileE:/software/repository/svn/bbs/conf/authz#所有用户都需要身份验证SatisfyAnyRequirevalid-user#验证方式AuthTypeBasic#项目的名称AuthName“bbs“#用户文件AuthUserFileE:/software/repository/svn/bbs/conf/passwd.apache</location>访问方式http://localhost/svn/itcastapache安装目录下的conf\hffpd.conf文件的使用SVN注意事项经常更新:降低冲突的可能性提交前需要在本机测试通过,降低将问题代码传到版本库提交时一定写备注,方便其他员工查看和自己以后回顾对于不需要提交的文件不要提交到版本库使用SVN注意事项经常更新:降低冲突的可能性CVSCVS安装下载CVS服务器(/cvspro)我们使用版本cvsnt-server-2.5.04.3510.msi默认端口:2401CVSNT用户使用win系统账户,即在服务器上创建win系统用户(注意权限安全)即可,这样每个仓库都可以使用服务器的系统用户登录管理CVSCVS安装版本控制课件ltCVSNT界面说明ServerInformation,用于查看服务器信息以及一些简单的统计信息Repositoryconfiguration,配置CVS仓库,包括添加、删除、修改等ServerSettings,配置服务器运行的一些参数,如端口、加密、压缩等选项CompatibilityOptions,兼容性选项Plugins,插件配置AdvancedAbout,管理cvsnt服务的状态。暂停或启动cvsnt和cvsntlock服务。CVSNT界面说明ServerInformation,用于CVS创建用户1使用系统用户绑定到当前的CVS项目上格式:setcvsroot=:pserver:lenovo@:/bbsc1、cvslogin登录并输入系统用户密码2、例如:cvspasswd-a-rlenovoitcast-aAdduser-rAliasusernametorealsystemuser
在/CVSROOT文件夹下将会生成passwd文件CVS创建用户1使用系统用户绑定到当前的CVS项目上CVS创建用户2CVSROOT目录下,新建文件并命名为passwd.在该文件里添加如下内容:格式:user4::administrator总共有三部分信息,用户名、密码、本地用户三部分之间使用冒号“:”来进行分割用户名:就是登陆CVS的用户名
密码:用户的密码,需要经过加密的,如果为空,那么就是空密码
本地用户:CVS用户这个别名对应的本地用户,(跟本地用户没有任何其他关系,仅仅是别名的关系)在passwd文件的相同目录下继续新建文件并命名为admin.将上诉user4用户加入文件中同一目录下找到checkoutlist文件并去掉只读属性,在文件内追加一行,内容为admin.之后可恢复只读修改同一目录下config文件的SystemAuth=no(注意要去掉).至此,直接使用CVS自己的帐户即可登陆CVS创建用户2CVSROOT目录下,新建文件并命名为pasCVS创建用户3CVSROOT目录下,创建一个文件:passwd内容:user5::administrator命令行:cvs-d:pserver:user5@localhost:/androidpasswdCVS创建用户3CVSROOT目录下,创建一个文件:passSubversion目录规范创建三个顶级目录/trunk存放开发的“主线”/branches存放支线副本/tags存放标签副本,并且不能修改Subversion目录规范创建三个顶级目录SVN相关软件介绍subversion命令行客户端svn是正式的subversion客户端程序。为了那些有兴趣发展subversion客户端的人们,subversion作成一系列的链接库,这些链接库除了可以通过CAPI存取外,还可被其他语言使用。名称语言可移植性授权网址PapidSVNC++是,原生widgetApache-styleGsvnPython仅Unix,非原生widgetGPLTortoiseSVNC++仅winGPLSvnupJava,JNIbindingsYesApache-styleJsvnJava,包装svn命令行客户端YesAcademicFreeLicenseSVN相关软件介绍subversion命令行客户端svn是正版本控制讲师:梁桐版本控制讲师:梁桐实例某研发团队2011研发了一款BBS系统在开发前,项目经理带来了一些基础代码经过3个月研发,发布了BBS1.0版本因为销售业绩很好,所有决定继续研发v2.0版但有客户使用使用中发现v1.0有严重Bug,不修复将造成严重后果研发团队安排部分人去修复,其他人继续研发v2.0Bug修复后,发布了v1.1版,没有造成严重损失Bug修复后需要将整合到v2.0中,保证今后的发布的版本中不会出现此问题实例某研发团队2011研发了一款BBS系统版本控制课件lt为什么学习版本控制?参与过2人以上的软件项目开发?开发过程中程序是否具有版本控制?如果不使用版本控制还会出现什么问题?硬盘是否坏过。根据经验法则再加上墨菲定理,坏事情往往都发生在最重要的时刻。为什么学习版本控制?参与过2人以上的软件项目开发?没有版本控制?代码管理混乱备份多个版本,占用磁盘空间大解决代码冲突困难容易引发BUG难于追溯问题代码的修改人和修改时间难于恢复至以前正确版本无法进行权限控制项目版本发布困难没有版本控制?代码管理混乱版本控制课件lt什么是版本控制?版本控制(RevisionControl):是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。也是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。通过文档控制(documentationcontrol),能记录任何工程专案内各个模组的改动历程,并为每次改动编上序号。什么是版本控制?版本控制(RevisionControl)版本控制软件CVS(ConcurrentVersionsSystem)代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和使用者协同工作。VSS(VisualSourceSafe)只能在windows下,作为MicrosoftVisualStudio的一名成员,它主要任务就是负责项目文件的管理Git是用于Linux内核开发的版本控制工具。它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linuxkernel这样的大项目来说自然很重要。Git最为出色的是它的合并跟踪(mergetracing)能力。。。。。。。SVN(Subversion),是一个开放源代码的版本控制系统,采用了分支管理系统,它的设计目标就是取代CVS。版本控制软件CVS(ConcurrentVersions
1、版本控制入门简介2、SVN入门3、SVN服务器端与客户端的使用SVN安装SVN仓库建立与启动[★★★]SVN命令[★★★★]4、TortoiseSVN安装5、SVN权限配置[★★]6、TortoiseSVN基本操作[★★★★☆]【重点】7、SVN与第三方Eclipse整合[★★★★★]【重点】8、SVN与第三方Apache整合[★★]9、SVN版本控制的前身CVS简介[★★]10、SVN目录规范[★★]目标1、版本控制入门简介目标SVN的特性统一的版本号。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。重命名、复制、删除文件等动作都保存在版本历史记录当中。对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。分支的开销非常小。优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。支持元数据(Metadata)管理。每个目录或文件都可以定义属性(Property),它是一些隐藏的键值对,用户可以自定义属性内容,而且属性和文件内容一样在版本控制范围内。支持FSFS和BerkeleyDB两种资料库格式。不足:只能设置目录的访问权限,无法设置单个文件的访问权限。SVN的特性统一的版本号。CVS是对每个文件顺序编排版本号,SVN=版本控制+备份服务器SVN
SVN服务器运行方式独立服务器方式:svnserve借助Apache方式:mod_dav_svnSVN版本数据存储方式BDB(BerkeleyDB):数据库方式FSFS:文件方式(推荐)SVN运行方式与存储方式SVN服务器运行方式SVN运行方式与存储方式版本控制课件ltSubversion组件服务器组件(管理员使用)svnadmin:用来创建、调整或修改svn档案库的工具mod_dav_svn:ApacheHTTP服务器的一个插件,使版本库可以通过网络访问svnserve:一个单独运行的服务器程序,可以作为守护进程或由SSH调用。这是另一种使版本库可以通过网络访问的方式。客户端组件(用户使用)svn:命令行客户端程序,这是用来管理数据的主要工具Subversion组件服务器组件(管理员使用)SVN版本控制策略1拷贝-修改-合并方案cvs采用SVN版本控制策略1拷贝-修改-合并方案SVN版本控制策略2拷贝-修改-合并方案SVN版本控制策略2拷贝-修改-合并方案VSS控制策略锁定-修改-解锁方案(VSS)VSS控制策略锁定-修改-解锁方案(VSS)Subversion安装Subversion软件下载安装或/我们使用的版本Setup-Subversion-1.6.5.msi验证是否安装成功svnserve––versionSubversion安装Subversion软件下载安装Subversion建立仓库建立svn仓库(单仓库、多仓库)命令svnadmincreate仓库名称例如:svnadmincreateE:\software\repository\svn\itcast仓库目录说明db目录:就是所有版本控制的数据存放文件hooks目录:脚本文件的目录locks目录:放置subversion文件库锁定数据的目录,用来追踪存取文件库的客户端format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)Subversion建立仓库建立svn仓库(单仓库、多仓库Subversion启动1cmd命令行启动svnserve–d–r文档仓库路径-d后台执行-r版本库的根目录例如:svnserve-d-rF:\software\repository\svn\itcastsvn端口号3690使用netstat–an
查看svn是否启动成功协议:tcp/ipSubversion启动1cmd命令行启动Subversion启动2windows服务自动启动利用xp、2000以上的系统自带的工具servicecontrol,执行文件sc.exesccreateSVN-Servicebinpath="E:\software\svn\bin\svnserve.exe--service-rE:\software\repository\svn"displayname="SVN-Service"start=autodepend=Tcpipbinpath指定svnserve的路径和命令start=auto表示服务自动启动。注意:等于号的左边无空格,而右边必须有一个空格Displayname描述、start启动方式、depend依存关系在此命令中-r(--root)项目版本仓库的根目录启动服务netstartSVN-Service删除服务scdeleteSVN-Service查看服务是否添加成功,可以选择windows控制面板管理工具服务会发现列表中有SVN-service服务Subversion启动2windows服务自动启动SVN命令1svncheckout从版本库检出一个工作拷贝格式:svncheckoutURL[@REV]...[PATH]例如:svncheckoutsvn://localhost/itcastE:\develop\workroom\user1说明:@REV,与-r功能相同,指定检出的版本号…,同时检出多个工作拷贝svncommit将改动的文件提交到版本库格式:svncommit[path]例如:svncommit-m“message"readme.txtsvnupdate更新你的工作拷贝例如:svnupdate-r1readme.txt(更新到指定版本)svnadd想版本库中添加新文件例如:svnadd*--force(递归)例如:svnadd--depth=emptyonlydir(尽添加文件夹)svninfo显示本地或远程条目的信息svnhelp|svnhelp…获取帮助信息SVN命令1svncheckout从版本库检出一个工作拷SVN命令2svndelete从版本库中删除文件和目录。例如:svndelete-m"delete"svn://localhost/oa/readme.txt例如:svndelete--forcefile3.txtsvnrevert将工作副本文件恢复到原始版本(恢复大部份的本地修改)。svnlist列出版本库中的目录内容。例如:svnlistsvn://localhost/oasvnstatus显示工作副本中目录与文件的状态。未指定参数时,只显示本地修改的条目例如:svnstatus--show-updates--verbose||-u-vsvncopy在工作副本或版本库中复制数据,保留历史。格式:svncopySRC[@REV]...DSTsvnmove在工作副本或版本库中移动或改名文件或目录。格式:svnmoveSRC...DSTsvnmerge将两个源差异应用至工作副本。格式:mergesourceURL1[@N]sourceURL2[@M][WCPATH]例如:svnmerge--reintegratesvn://localhost/oa/branches/fixedSVN命令2svndelete从版本库中删除文件和目录。SVN命令3svnswitch—把工作拷贝更新到别的URL格式:svnswitchURL[@PEGREV][PATH]svnswitch--relocateFROMTO[PATH...]例子:svnswitch--relocatesvn://localhost/bbs1svn://localhost/bbs.
svnmkdir创建一个纳入版本控制的新目录格式:svnmkdirPATH...svnmkdirURL...例子:svnmkdirbranches
共性:如果出现URL,一般需要“日志信息”删除密码信息:windows:C:\DocumentsandSettings\Administrator\ApplicationData\Subversion\authlinux下:rm-rf~/.subversion/authSVN命令3svnswitch—把工作拷贝更新到别的USVN基本交互流程图checkoutupdatecommitSVN基本交互流程图checkoutupdatecommitTortoiseSVN介绍TortoiseSVN是Subversion版本控制系统的一个免费开源客户端。TortoiseSVN是Subversion的windows扩展。它使你避免接触Subversion枯燥而且不方便的CommandLine。它完全嵌入WindowsExplorer,使用时只需在正常的窗口里右键操作就可以了TortoiseSVN介绍TortoiseSVN是SubveTortoiseSVN安装TortoiseSVN下载安装/downloads我们安装版本TortoiseSVN-7493-win32-svn-1.6.6.msiTortoiseSVN汉化/downloadsLanguagePack_7493-win32-zh_CN.msi64位系统TortoiseSVN-2068-x64-svn-1.7.0.msiLanguagePack_2068-x64-zh_CN.msiTortoiseSVN安装TortoiseSVN下载安装Subversion权限配置svnserve.conf定义所有认证和授权政策anon-access匿名用户【none/read/write】例如:anon-access=noneauth-access授权用户【none/read/write】例如:auth-access=writepassword-db用户保存文件例如:password-db=passwdauthz-db权限管理文件例如:authz-db=authzsasl认证(了解)passwd存放项目成员账户信息一行一个用户,用户名和密码使用等号隔开authz主要是做复杂的群组权限控制给组授权是必须使用@多仓库:[repository:/baz/fuz]单仓库:[/foo/bar]Subversion权限配置svnserve.conf定义TortoiseSVN图标正常状态新检出的工作复本提交过程中出现冲突已修改上次更新复本需要提交文件设置了svn:needs-lock属性,svn会让此文件只读,直到获得文件锁拥有了文件锁文件或目录已纳入到版本控制新添加的文件,且没有纳入到版本控制设置needs-lock,properties/new/svn:needs-lock设置logminsize,properties/new/tsvn:logminsize忽略所选项已删除,还没有提交的文件TortoiseSVN图标正常状态提交过程中出现冲突已修改文版本控制课件ltTortoiseSVN其他操作Showlog:查看日志Repo-browser:查看文档仓库Checkformodifications:查看修改项Revisongraph:版本图表Editconflicts:编辑冲突Resolved:已解决冲突Updatetorevision:更新到指定版本。HEADrevision最新版本Rename:重命名Delete:删除Revert:还原Getlock:获得锁 /Releaselock:释放锁Add:添加到版本库Properties:属性配置Settings:参数设置
TortoiseSVN其他操作Showlog:查看日志SVN与Eclipse整合下载SVN插件()我们使用版本eclipse_svn_site-1.6.5.zip解压到一个文件夹1、进入MyEclipse8.5安装目录中dropins目录并创建一个svn.link(文件名任意)的文件。 内容为:path=解压缩路径 例如:path=E:\\java\\IDE\\MyEclipse8.5\\svn2、进入eclipse安装目录中links目录并创建一个svn.link(文件名任意)的文件。中英文切换configuration/config.ini文件中添加以下语句1、osgi.nl=en_US2、osgi.nl=zh_CNSVN与Eclipse整合下载SVN插件(http://suSVN与Apache整合1下载Apache()我们使用版本apache_2.2.14-win32-x86-no_ssl.msi测试安装成功:http://localhost打开Apache安装目录下Apache2.2\conf\httpd.conf配置文件将下列2行前面的#移除(第83行)LoadModuledav_modulemodules/mod_dav.soLoadModuledav_fs_modulemodules/mod_dav_fs.so并同时在上面两行下面添加以下两行(一定放在这个位置)LoadModuledav_svn_modulemodules/mod_dav_svn.soLoadModuleauthz_svn_modulemodules/mod_authz_svn.so找到Subversion安装目录下的以下两个文件bin/mod_authz_svn.sobin/mod_dav_svn.so复制到Apache安装目录下modules目录中SVN与Apache整合1下载Apache(http://wSVN与Apache整合2使用Apache安装目录下的bin/htpasswd.exe可执行性文件来生成授权文件,第一次生成使用-cb参数:格式:htpasswd–cb[filename][username][password]例如:htpasswd–cbpasswd.apacheuser1pwd参数说明:-c创建一个加密文件-b在apachehtpasswd命令行中一并输入用户名和密码而不是根据提示输入密码-m默认apachehtpasswd命令采用MD5算法对秘密进行加密-dapachehtpasswd命令采用CRYPT算法对密码进行加密-sapachehtpasswd命令采用SHA算法对密码进行加密将生成的passwd.apache文件移动到svn版本库中\conf目录下SVN与Apache整合2使用Apache安装目录下的binapache安装目录下的conf\hffpd.conf文件的最后面加入#配置虚拟目录<location/svn/itcast>#引用远程访问模块DAVsvn#项目版本库路径SVNPathE:/software/repository/svn/bbs#授权文件AuthzSVNAccessFileE:/software/repositor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 岭南师范学院《峨眉武术2》2023-2024学年第二学期期末试卷
- 四川长江职业学院《升学与就职指导》2023-2024学年第二学期期末试卷
- 上海工商职业技术学院《跨国公司管理》2023-2024学年第二学期期末试卷
- 四川省泸州市泸县一中2025年高三5月选考模拟考试物理试题含解析
- 景德镇艺术职业大学《小学教育专业导论与职业生涯规划》2023-2024学年第二学期期末试卷
- 沙洲职业工学院《科技英语翻译》2023-2024学年第二学期期末试卷
- 深圳大学《合唱》2023-2024学年第二学期期末试卷
- 四川化工职业技术学院《道路桥梁工程施工技术》2023-2024学年第二学期期末试卷
- 宁波诺丁汉大学《园艺生态学》2023-2024学年第二学期期末试卷
- 二零二五版销售提成合同书
- 杭州市萧山区机关事业单位招聘笔试真题2023
- 专题19:首字母填空 -2023年中考英语考试研究(原题版)(上海专用)
- 2024历年司考劳动法真题
- 卫星导航定位精度-洞察分析
- 中国假发行业供需态势、竞争格局及投资前景分析报告(智研咨询)
- 四川政采评审专家入库考试基础题复习测试附答案
- 一轮复习课件:《古代欧洲文明》
- 安装悬浮地板合同范例
- 中国二十四节气《立春》课件模板(三套)
- 《Python程序设计》课件-4:字符串运算及常用函数
- DB41T 1836-2019 矿山地质环境恢复治理工程施工质量验收规范
评论
0/150
提交评论