VisualSVNServer的配置和使⽤⽅法图⽂
1.为什么要⽤VisualSVN Server,⽽不⽤Subversion?
回答:
因为如果直接使⽤Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置⽂件来控制⽤户权限,另外如果要想以Web⽅式【http协议】访问,⼀般还要安装配置Apache,如果是新⼿,岂不是很头痛?⽽VisualSVN Serve集成了Subversion和Apache,省去了以上所有的⿇烦。安装的时候SVN Server已经封装为windws service,Apache服务器的配置也只是在图像界⾯上,指定认证⽅式、访问端⼝等简单操作;另外,⽤户权限的管理也是通过图像界⾯来配置。
2.为什么不⽤TFS?
回答:
因为我们⼀开始就是⽤Subversion和TortioseSVN,所以就没有更换其他的软件。⾄于TFS⾄今没有⽤过,其实,我只是看了⼀些的⽂章⽽已,对它也不了解。
3.VisualSVN Server是免费的吗?
回答:
是的,VisualSVN Server是免费的,⽽VisualSVN是收费的。VisualSVN是SVN的客户端,和Visual Studio集成在⼀起,VisualSvn Server是SVN的服务器端,包括Subversion、Apache和⽤户及权限管理,优点在上⾯已经说过了。
好了,⾔归正传,正式开始我们今天的教程。
⼀、VisualSVN Server的配置和使⽤⽅法【服务器端】
安装好VisualSVN Server后【安装过程看这⾥】,运⾏VisualSVN Server Manger,下⾯是启动界⾯:
好的,下⾯我来添加⼀个代码库【Repository】,如下图:
按上图所⽰,创建新的代码库,在下图所⽰的⽂本框中输⼊代码库名称:
注意:上图中的CheckBox如果选中,则在代码库StartKit下⾯会创建trunk、branches、tags三个⼦⽬录;不选中,则只创建空的代码库StartKit。
点击OK按钮,代码库就创建成功了。
创建完代码库后,没有任何内容在⾥⾯。我会在这个教程的第⼆部分说明如何迁⼊源代码。
提交的东西不能更改下⾯,我们开始安全性设置,在左侧的Users上点击右键:
输⼊上⾯的信息,点击OK,我们就创建⼀个⽤户了。按照上⾯的过程,分别添加⽤户Developer1、tester1、manager1,好了,我们开始添加这些⽤户到我们刚才创建的项⽬⾥:
点击上图中的""按钮,在下图中选择我们刚才添加的⽤户,点击OK按钮:
说明:⼤家可能注意到了下图中的Groups,是的,你也可以先创建组,把⽤户添加到各个组中,然后对组进⾏授权,操作⽐
较简单,在此略过。
按照下图所⽰,分别对⽤户【或组】进⾏授权:
点击"确定"按钮,上⾯的⽤户就具有了访问StartKit代码库的不同权限。
因为⽤户starter在团队中是新来者,不希望他向代码库中提交新代码,所以他只能读取代码库中的代码,不能提交代码。tester1是测试⼈员,不负责代码编写,所以也是只读权限。⽽Developer1和manager1是开发⼈员和项⽬经理,⾃然具有读、写的权限。
在实际的项⽬开发过程中,Developer和tester往往不可能只有⼀个⼈,这时候使⽤组来授权更加⽅便,这个⼤家可以⾃⼰练习⼀下。
⼆、TotoiseSVN的基本使⽤⽅法
在项⽬管理实践教程⼀、⼯欲善其事,必先利其器【Basic Tools】中,我已经讲解了怎样安装TortoiseSVN。在上⾯的讲解中已经讲了怎么使⽤VisualSVN Server了,今天我要讲的是,TortoiseSVN的简单使⽤⽅法。
⼀、签⼊源代码到SVN服务器
假如我们使⽤Visual Studio在⽂件夹StartKit中创建了⼀个项⽬,我们要把这个项⽬的源代码签⼊到SVN Server上的代码库中⾥,⾸先右键点击StartKit⽂件夹,这时候的右键菜单如下图所⽰:
图2-2-1
说明:左下⾓的CheckBox,在第⼀次签⼊源代码时没有⽤,但是,在以后你提交代码的时候是⾮常有⽤的。
图2-2-2
点击OK按钮,会弹出下⾯的窗体,要求输⼊凭据:
图2-2-3
在上⾯的窗体中输⼊⽤户名和密码,点击OK按钮:
图2-2-4
如上图所⽰,好了,源代码已经成功签⼊SVN服务器了。这时候团队成员就可以迁出SVN服务器上的源代码到⾃⼰的机器了。
⼆、签出源代码到本机
在本机创建⽂件夹StartKit,右键点击Checkout,弹出如下图的窗体:
图2-2-5
在上图中URL of Repository:下的⽂本框中输⼊svn server中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。
这时候也会弹出对话框,要求输⼊⽤户名和密码,通过验证后即可浏览代码库中的内容。
搞定!源代码已经成功签出到刚才新建的StartKit⽬录中。
打开StartKit⽬录,可以看到如下图的⽂件夹结构:
图2-2-5
⼀旦你对⽂件或⽂件夹做了任何修改,那么⽂件或⽂件夹的显⽰图⽚机会发⽣变化。下图中我修改了其中的⼆个⽂件:
图2-2-7
⼤家看⼀下不同状态所对应的图⽚:
图2-2-8
我们已经知道怎么将源代码签⼊到SVN服务器,怎么从服务器签出代码到本机,也简单了解了不同状态所对应的图案啦。三、提交修改过的⽂件到SVN服务器
上⾯的图2-2-7中,我修改了位于Model⽂件中的⼆个⽂件ImageInfo.cs和NewsInfo.cs,下⾯演⽰如何提交到SVN服务器。
注意:提交源代码到服务器时,⼀定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突。
在Model⽂件夹上点击右键或在Model⽂件下的空⽩处点击右键,点击SVN Commit…弹出下⾯的窗体:
图2-2-9
点击OK按钮后,弹出如下图的窗体:
图2-2-10
四、添加新⽂件到SVN服务器
我们在Model⽂件下添加⼀个新的类⽂件UserInfo.cs,在Model⽂件下的空⽩处点击右键,点击SVN Commit…,和上⾯讲的提交修改过的⽂件到SVN服务器⼀样,就可以了。
另外也可以在⽂件UserInfo.cs上点击右键,点击TortoiseSVN=>>Add,弹出如下图的窗体:
图2-2-11
选中UserInfo.cs⽂件,点击OK按钮,这样并没有将这个⽂件提交到SVN服务器,只是将这个⽂件标记为源代码库库中的⽂件,并将其状态置为修改状态。之后,我们要再SVN Commit这个⽂件⼀次,才可以将其真正提交到SVN服务器上的代码库中。
上⾯讲是添加⽂件,实际上,添加⽂件夹的步骤也是⼀样的,这⾥就不说了。
五、更新本机代码与SVN服务器上最新的版本⼀致
这个也很简单,只要在需要更新的⽂件夹上点击右键或在该⽂件下的空⽩处点击右键,点击SVN Update,就可以了。
注意:更新操作可能会因为版本冲突⽽失败,这是可以使⽤合并【Merge】或其他⽅法解决;也可能因为锁定【Get Lock】⽽失败,这是需要先解锁【Release Lock】。
六、重命名⽂件或⽂件夹,并将修改提交到SVN服务器
只要在需要重命名的⽂件或⽂件夹上点击右键,点击TortiseSVN=>>Rename…,在弹出的窗体中输⼊新名称,点击OK按钮,就可以了。此⽅法也不是直接重命名,⽽是将该⽂件或⽂件夹的名称标记为重命名后名称,也需要我们使⽤SVN Commit 提交到SVN服务器后才真正重命名。
七、删除⽂件或⽂件夹,并将修改提交到SVN服务器
最简单就是,你直接删除⽂件或⽂件夹,然后使⽤SVN Commit提交更新到SVN服务器。另外⼀种⽅法是在你要删除的⽂件或⽂件夹上点击右键=>>TortoiseSVN=>>Delete删除,此⽅法也不是直接删除,⽽是将该⽂件或⽂件夹的状态置为删除,也需要
我们使⽤SVN Commit提交到SVN服务器后才真正删除。
说明:实际上,从你把源代码迁签⼊SVN服务器开始,每⼀个版本的数据和⽂件,就算是你已经删除了的,也都可以随时迁出。
以上只是TortoiseSVN最简单的⼏个功能,其实他的功能远不⽌这些,其他的功能⼤家可以在使⽤的过程中慢慢体会,有些功能我会在下⾯的教程中使⽤到,到时候会和⼤家讲清楚⽤法。
注意:向SVN服务器提交源代码的时候,⼀定不要提交bin、obj等⽂件夹,否则会很⿇烦。但是web项⽬的bin⽬录除外,但是web项⽬的bin⽬录中的引⽤其他项⽬⽽⽣成的dll不需要提交。
⼀个好习惯:如果项⽬中引⽤了其他的第三⽅的程序集,⽐如EnterpriseLibrary、FCKEditor等,这时候不要简单从他们的安装位置引⽤,⽽是在你的解决⽅案下,添加⼀个Library的⽬录,把需要的程序集复制到这⾥,然后从Library⽬录引⽤,这样有什么好处,⾃⼰想⼀想吧!
如果⼤家有什么问题,尽管跟帖提问,我⼀定及时回答。
好了,今天就先写到这⾥吧,本来说这部分准备写⼀篇Blog,可是现在写了这么长,还只是说了⼀点很基本的东西⽽已,呵呵……
如果你对我讲解的这些内容不熟悉,建议你从头开始看这个系列的教程:项⽬管理实践系列教程。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论