您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > VisualSVN Server +TortoiseSVN版本控制系统指南
版本控制在公司内部VisualSVNServer+TortoiseSVN方式版本控制服务器上安装VisualSVNServer控制版本控制服务与库操作的权限分配各网内客户机采用TortoiseSVN输入各自账号与服务进行通信。客户机TortoiseSVN安装和使用参考《TortoiseSVN-1.6.8-zh_CN.pdf》一、服务器VisualSVNServer安装VisualSVNServer的安装文件:VisualSVN-Server-3.3.0-win32.exe,服务器系统要求:WindowsServer2008orlaterWindowsVistaorlater硬件要求:1.4GHzCPU512MBRAM50MBharddrivespaceVisualSVN的安装非常的简单,【1】几乎是下一步。【2】选择visualVSN服务器和管理控制台或只有管理控制权限【3】选择程序安装的路径、SubversionRepository(库)的路径和所使用的协议和端口。你可以选择HTTP和HTTPS两种协议,如需使用svn协议也非常的方便,在1.4版本后,Subversion加入了Service运行的功能。端口号可以任意定义。对于HTTPS的端口号默认可以选择443和8443,对于HTTP默认可以选择80、8080和81。个人偏向于使用HTTPS的8443端口,原因很简单HTTPS安全性比较高,虽然443端口是标准HTTPS端口,但如果做WEB开发那肯定就有麻烦,同时Skype也会使用这个端口进行某些通讯。还有就是下面的用于验证的身份,一个是windows验证,一个是Subversion身份验证这里默认是Subversion身份验证。【4】接着就是复制文件的过程。【5】安装完成后会询问你是否需要运行VisualSVNServerManager(一个非常有用的管理工具)【6】打开“VisualSVNServerManager”,如下:二、VisualSVNServer的配置和使用方法【服务器端】安装好VisualSVNServer后,运行VisualSVNServerManger,下面是启动界面:好的,下面我来添加一个代码库【Repository】,如下图:按上图所示,创建新的代码库,在下图所示的文本框中输入代码库名称:注意:上图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk、branches、tags三个子目录;不选中,则只创建空的代码库StartKit。点击OK按钮,代码库就创建成功了。创建完代码库后,没有任何内容在里面。我会在这个教程的第二部分说明如何迁入源代码。下面,我们开始安全性设置,在左侧的Users上点击右键:输入上面的信息,点击OK,我们就创建一个用户了。按照上面的过程,分别添加用户Developer1、tester1、manager1,好了,我们开始添加这些用户到我们刚才创建的项目里:点击上图中的Add...按钮,在下图中选择我们刚才添加的用户,点击OK按钮。说明:大家可能注意到了下图中的Groups,是的,你也可以先创建组,把用户添加到各个组中,然后对组进行授权,操作比较简单,在此略过。按照下图所示,分别对用户【或组】进行授权:点击确定按钮,上面的用户就具有了访问StartKit代码库的不同权限。因为用户starter在团队中是新来者,不希望他向代码库中提交新代码,所以他只能读取代码库中的代码,不能提交代码。tester1是测试人员,不负责代码编写,所以也是只读权限。而Developer1和manager1是开发人员和项目经理,自然具有读、写的权限。在实际的项目开发过程中,Developer和tester往往不可能只有一个人,这时候使用组来授权更加方便,这个大家可以自己练习一下。三、TotoiseSVN的基本使用方法工欲善其事,必先利其器【BasicTools】中,我已经讲解了怎样安装TortoiseSVN。在上面的讲解中已经讲了怎么使用VisualSVNServer了,今天我要讲的是,TortoiseSVN的简单使用方法。3.1签入源代码到SVN服务器在客户机的我的电脑中打到要导扩的文件夹如StartKit,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示:图2-2-1点击Import,弹出下面的窗体,其中是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库。说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。图2-2-2点击OK按钮,会弹出下面的窗体,要求输入凭据:图2-2-3在上面的窗体中输入用户名和密码,点击OK按钮:图2-2-4如上图所示,好了,源代码已经成功签入SVN服务器了。这时候团队成员就可以迁出SVN服务器上的源代码到自己的机器了。3.2签出源代码到本机在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体:图2-2-5在上图中URLofRepository:下的文本框中输入svnserver中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。说明:上图中的CheckoutDepth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。搞定!源代码已经成功签出到刚才新建的StartKit目录中。打开StartKit目录,可以看到如下图的文件夹结构:图2-2-5一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片机会发生变化。下图中我修改了其中的二个文件:图2-2-7大家看一下不同状态所对应的图片:图2-2-8我们已经知道怎么将源代码签入到SVN服务器,怎么从服务器签出代码到本机,也简单了解了不同状态所对应的图案啦。3.3提交修改过的文件到SVN服务器上面的图2-2-7中,我修改了位于Model文件中的二个文件ImageInfo.cs和NewsInfo.cs,下面演示如何提交到SVN服务器。注意:提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突。在Model文件夹上点击右键或在Model文件下的空白处点击右键,点击SVNCommit…弹出下面的窗体:图2-2-9点击OK按钮后,弹出如下图的窗体:图2-2-103.4添加新文件到SVN服务器我们在Model文件下添加一个新的类文件UserInfo.cs,在Model文件下的空白处点击右键,点击SVNCommit…,和上面讲的提交修改过的文件到SVN服务器一样,就可以了。另外也可以在文件UserInfo.cs上点击右键,点击TortoiseSVN=Add,弹出如下图的窗体:图2-2-11选中UserInfo.cs文件,点击OK按钮,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库库中的文件,并将其状态置为修改状态。之后,我们要再SVNCommit这个文件一次,才可以将其真正提交到SVN服务器上的代码库中。上面讲是添加文件,实际上,添加文件夹的步骤也是一样的,这里就不说了。3.5更新本机代码与SVN服务器上最新的版本一致这个也很简单,只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVNUpdate,就可以了。注意:更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【GetLock】而失败,这是需要先解锁【ReleaseLock】。3.6重命名文件或文件夹,并将修改提交到SVN服务器只要在需要重命名的文件或文件夹上点击右键,点击TortiseSVN=Rename…,在弹出的窗体中输入新名称,点击OK按钮,就可以了。此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后名称,也需要我们使用SVNCommit提交到SVN服务器后才真正重命名。3.7删除文件或文件夹,并将修改提交到SVN服务器最简单就是,你直接删除文件或文件夹,然后使用SVNCommit提交更新到SVN服务器。另外一种方法是在你要删除的文件或文件夹上点击右键=TortoiseSVN=Delete删除,此方法也不是直接删除,而是将该文件或文件夹的状态置为删除,也需要我们使用SVNCommit提交到SVN服务器后才真正删除。说明:实际上,从你把文档迁签入SVN服务器开始,每一个版本的数据和文件,就算是你已经删除了的,也都可以随时迁出。以上只是TortoiseSVN最简单的几个功能,其实他的功能远不止这些,其他的功能大家可以在使用的过程中慢慢体会,有些功能我会在下面的教程中使用到,到时候会和大家讲清楚用法。注意:向SVN服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦。但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。一个好习惯:如果项目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,这时候不要简单从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,把需要的程序集复制到这里,然后从Library目录引用,这样有什么好处,自己想一想吧!本文是对如下两篇文章的整理:://
本文标题:VisualSVN Server +TortoiseSVN版本控制系统指南
链接地址:https://www.777doc.com/doc-3519359 .html