资源描述
,CMMIL3,咨询和评估项目培训讲义,配置管理工具的使用和维护,人员:段成昱,11/14/2024,本次讲座目的,培训研发人员如何安装、使用和维护,Subversion,配置管理工具。,概述,SVN,是,Subversion,的缩写,是一个超越,CVS,的、支持事物性的、高性能的、自由,/,开源版本控制系统。,SVN,是一种集中的分享信息的系统。它的核心是版本库,这个版本库很象一个普通的文件服务器,只是它可以记录每一次文件和目录的修改,这便使你可以取得数据以前的版本,从而可以检查所作的修改。从这个方面看,许多人把版本控制系统当作一种“时间机器”。,SVN,可以通过网络访问它的版本库,从而使用户可在不同的电脑上使用。如果存在不正确的改变,只要取消改变。,概述,由于,SVN,是典型的,C/S,结构的软件,因此它也分成服务器端和客户端两部分。,SVN,的基本工作思路是这样的:在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。由仓库管理员统一管理这些源程序。这样,就好象只有一个人在修改文件一样,避免了冲突。每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。用户做的任何修改首先都是在本地进行,然后用,SVN,命令进行提交,由,SVN,仓库管理员统一修改这样就可以做到跟踪文件变化,冲突控制等等。,安装,以,TortoiseSVN-1.2.6.4786-svn-1.2.3.msi,为例来说明客户端程序的安装。,安装步骤,双击安装程序,TortoiseSVN-1.2.6.4786-svn-1.2.3.msi,,则弹出如图所示窗口,单击“运行”键;,安装步骤,进入“欢迎”页面,如图所示,单击“,Next”,;,安装步骤,进入“许可协议”页面,如图所示,选择“同意”,单击“,Next”,;,安装步骤,如图所示,选择默认的安装方式,单击“,Next”,;,安装步骤,进入“准备安装”页面,如图所示,单击“,Install”,;,安装步骤,如图所示页面,单击“,Finish”,即可完成安装。,重启计算机使安装生效。,常用命令,Check out,:初始化,第一次从,SVN,服务器获得一个新拷贝,被称作检出。这样会在本地创建一个项目的本地拷贝,这个拷贝包括版本库中的(,HEAD,)最新版本。步骤如下:,常用命令,Check out,:新建一个本地拷贝的目录,用右键单击,如右图所示,选择,SVN Checkout,菜单;,常用命令,Check out,:在弹出的文件对话框中,如右图所示,在,URL of repository,下的下拉栏中填写,SVN,服务器的地址及项目的子目录,在,Checkout directory,下的下拉栏中填写你要存放的本地拷贝的目录,通常默认选择“,HEAD”,最新版本,如果选择“,Revision”,,则在其右边填上版本号,点击“,show log”,按钮可显示出该目录提交的所有版本。然后点击,OK,按钮。,常用命令,Check out,:首次连接时弹出认证的对话框如右图所示,输入用户名和密码,选择“,Save authentication”,,点击,OK,按钮;,常用命令,Check Out,:,弹出对话框如下图所示,可看到拷贝到本地的所有文件,点击,OK,按钮。,常用命令,Check out,:,初始化成功后,察看本地拷贝目录,如下图所示,可看到有绿色勾的标志。,常用命令,Update,:从,SVN,获取别人的修改。有时候,你也许要将别人修改的合并到你本地使用的拷贝中,从服务器将修改取到本地的过程称为更新。可以更新单个文件、被选中的几个文件,或者是整个目录。执行下面步骤,完成更新。,常用命令,Update,:首先选择你要更新的目录或文件;在选中的目录或文件上点击鼠标右键,如下图所示,选择,SVN,Update,更新菜单项;,常用命令,Update,:点击,OK,按钮,弹出对话框如下图所示,如果库里的文件进行了修改,则显示更新了的文件;否则不进行更新。,注意:更新对库是没有影响的,建议每次修改之前先进行更新。,常用命令,Commit,:向,SVN,提交你的修改。将本地的修改放到库中,被称作提交修改。在提交前,你应该做一次更新,确保没有冲突,参见,Update,命令。步骤如下:,常用命令,Commit,:,首先选择你要提交的目录或文件;然后在选择上点击鼠标右键,如右图所示,从菜单中选择,SVN,Commit,提交;,常用命令,Commit,:如右图所示,在,Enter Log Message,提交设置对话框中,填写日志信息。强烈建议你花点时间简短描述你做的修改;,常用命令,Commit,:点击,OK,按钮,则弹出对话框如下图所示,显示提交的文件和版本号。,常用命令,Commit,:提交完成后,其显示标志如图所示。,注意,,提交修改不会自动将你创建的新文件增加到库中。参见,ADD,命令。,常用命令,Commit,:每当版本库进行了一个提交,文件系统进入了一个新的状态,叫做一次修订(,Revision,),每一个修订版本被赋予一个独一无二的自然数,一个比一个大,初始修订号为,0,,只创建了一个空目录,没有任何内容。,常用命令,ADD,:增加文件和目录。当你创建了想要放到库中的文件时,你要告诉,SVN,做相应处理。如果,目录包含不在,SVN,控制下的文件,你需要在增加文件前增加目录。增加文件或目录的步骤如下:,常用命令,Add,:首先选择你要增加的目录或文件;在选择上点击鼠标右键,如右图所示,选择,TortoiseSVN,-Add,菜单;,常用命令,Add,:如下图所示,文件只是被标记为添加状态(蓝色的加号),需要通过提交将其增加到库中。具体提交步骤,请参见,Commit,命令。,常用命令,查看文件对比:,SVN,可以查看文件和目录的状态、日志、区别等。下面是几个命令的简要说明:,区别,Diff,:,对本地拷贝与库中对应文件的任一版本进行比较,也可以对库中的不同的版本进行比较。,日志,Show log,:,显示指定文件所有版本(除非你限定了要显示的版本号)的日志信息、日期、标记、作者等等。,状态,Check Modification,:,显示指定文件的修改状态,如文件是本地修改还是库中修改,还显示本地和库中的版本号。,常用命令,Diff,:以,Diff,命令为例进行说明。选择你要查看的目录或文件,如下图所示,,readme.txt,文件修改后,有一个红色的惊叹号。,常用命令,Diff,:在选择上点击鼠标右键,选择,TortoiseSVN,-Diff,菜单,如右图所示;,常用命令,Diff,:下图比较了修改过的文件和修改前文件的不同,经确认后可将修改过的文件提交到库中。具体提交步骤,请参见,Commit,命令。,常用命令,Delete,:删除文件和目录。要删除文件或目录,首先需删除,然后提交更改。步骤如下,:(,1,),选择要删除的文件或目录;(,2,)点击鼠标右键,选择,TortoiseSVN,-Delete,菜单;(,3,)文件只是被标记为删除,你还要通过提交将其从库中删除。提交命令请参见,Commit,命令。提交后文件就会从库中被删除了。,注意:文件没有物理上删除,只是被标记为“消亡”。在这种方式下,如果你选择检出该目录或文件的老的版本号,仍可以恢复删除的文件。,常用命令,Rename,:对文件或目录改名。和,CVS,不同,,SVN,支持对某个文件或目录重命名。重命名的步骤如下,:(,1,),选择要重命名的文件或目录;(,2,)点击鼠标右键,如右图所示,选择,TortoiseSVN,-Rename,菜单;,常用命令,Rename,:(,3,)弹出对话框如下图所示,填写新的名字并确认,并需要通过提交将其增加到库中。具体提交步骤,请参见,Commit,命令。,常用命令,Move,:,对文件或目录移动。和,CVS,不同,,SVN,支持对某个文件或目录的移动。,步骤如下:,(,1,),选择要移动的文件或目录;(,2,)点击鼠标右键,拖到工作拷贝目录内的新路径处,如右图所示,选择,SVN Move versioned files here,菜单项;,常用命令,Move,:(,3,),放开鼠标右键,则移动的文件或目录显示为添加状态(蓝色的加号),如下图所示,需要通过提交将其增加到库中。具体提交步骤,请参见,Commit,命令。,注意,:,SVN,的移动命令必须在拷贝目录下进行,文件或目录不能移动到拷贝目录外面,。,常用命令,典型工作周期是这样的:,更新工作目录(,update,),做出修改(,add/delete/move,),检验修改(,status/diff/revert,),合并别人的修改到工作目录(,update/resolved,),提交你的修改(,commit,),注意事项,修订号:,Subversion,的修订号是一个全局修订号,是针对整个目录的,而非单个文件。可以理解为版本号,N,表示已经经过了,N,次提交。修订号,N,和,M,也并不表示某个文件需要不同。,注意事项,四种状态:,(,1,)未修改且是当前的,(,2,)本地已修改且是当前的,(,3,)未修改且不是当前的,(,4,)本地已修改且不是最新的,问题?,Any Question?,谢谢,!,
展开阅读全文