1.为什么要用VisualSVN服务器而不是Subversion?
回答:
如果直接使用Subversion,那么在Windows系统上,如果想让它随系统启动,就得把SVN服务器打包成windws服务,并修改配置文件来控制用户的权限。另外,如果要通过Web [http协议]访问,通常要安装和配置Apache。如果是新手岂不是很头疼?而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻烦。安装时SVN服务器已经封装成windws服务,Apache服务器的配置只是在图形界面上,指定认证方式、接入端口等简单操作;此外,用户权限的管理也通过图形界面进行配置。
2.为什么不用TFS呢?
回答:
因为我们是从Subversion和TortioseSVN开始的,所以没有换其他软件。至于TFS,到目前为止还没有使用过。其实我只是看了一些文章,对此一无所知。
3.是3。VisualSVN服务器免费?
回答:
是的,VisualSVN服务器是免费的,而VisualSVN是收费的。VisualSVN是SVN的客户端,集成了Visual Studio。VisualSvn服务器是Svn的服务器,包括Subversion、Apache和用户及权限管理。上面已经提到了优点。
好了,言归正传,今天正式开始我们的教程。
一、VisualSVN服务器的配置和使用[服务器端]
安装VisualSVN服务器后[安装过程请参见此处],运行VisualSVN服务器管理器。以下是启动界面:
好,让我添加一个代码库,如下所示:
如上图所示创建一个新的代码库,在下图所示的文本框中输入代码库的名称:
注意:如果选中上图中的复选框,将在代码库StartKit下创建三个子目录:trunk、branches和tags如果未选择,将只创建一个空的代码库StartKit。
点击OK按钮,代码库创建成功。
创建代码库后,里面什么都没有。我将在本教程的第二部分解释如何进入源代码。
接下来,让我们开始安全设置,右键单击左边的用户:
输入以上信息,点击确定,我们将创建一个用户。按照上面的过程,分别添加用户Developer1、tester1和manager1。好了,让我们开始将这些用户添加到我们刚刚创建的项目中:
单击“添加...”按钮,在下图中选择我们刚刚添加的用户,点击确定按钮:
注意:您可能已经注意到了下图中的组。是的,您也可以先创建组,将用户添加到每个组,然后授权这些组。操作比较简单,这里就略过了。
授权用户[或组]如下图所示:
点击“确定”按钮,上述用户将拥有不同的权限访问StartKit代码库。
因为用户starter是团队新人,不希望他向代码库提交新代码,所以只能读取代码库中的代码,不能提交。Tester1是测试人员,不负责代码编写,所以也是只读权限。而Developer1和manager1是开发人员和项目经理,所以他们自然有读写的权利。
在实际的项目开发过程中,往往不可能只有一个开发人员和测试人员。这时候使用组进行授权就更方便了。这个可以自己练。
二、TotoiseSVN的基本用法
我已经在项目管理实用教程《基础工具》中解释了如何安装TortoiseSVN。在上面的解释中,我们已经谈到了如何使用VisualSVN服务器。今天,我想说一下龟兹文的简单用法。
I .将源代码签入SVN服务器。如果我们使用Visual Studio在StartKit文件夹中创建一个项目,我们将把这个项目的源代码签入到SVN服务器上的代码库中。首先,右键单击StartKit文件夹。此时的右键菜单如下图所示:
图2-2-1
点击导入,弹出如下表单,其中http://zt.net.henu.edu.cn是服务器名,svn是代码库的根目录,StartKit是我们在上一个教程中添加的代码库:
说明:左下角的复选框在第一次检入源代码的时候用处不大,但是在以后提交代码的时候就很有用了。
图2-2-2
单击OK按钮,将弹出下面的表单,要求提供凭据:
图2-2-3
在上表中输入用户名和密码,然后单击“确定”按钮:
图2-2-4
如上图,嗯,源代码已经成功检入SVN服务器。此时,团队成员可以将源代码从SVN服务器转移到他们自己的机器上。
2.将源代码签出到本地机器,并在本地机器上创建StartKit文件夹。右键单击Checkout,弹出如下图所示的表单:
图2-2-5
在上图中,在Repository:的URL下的文本框中输入代码库在svn server中的地址,其他默认。单击OK按钮开始签出源代码。
注意:上图中签出深度有四个选项,分别是全部移出、只签出下一级子目录和文件、只签出文件、只签出空项。默认为第一种。在上面的例子中,我们也可以通过web访问代码库,并在浏览器中输入http://zt.net.henu.edu.cn/svn/StartKit/。
这时会弹出一个对话框,要求输入用户名和密码。验证之后,就可以浏览代码库中的内容了。
搞定了。源代码已经成功签出到新创建的StartKit目录中。
打开StartKit目录,可以看到如下所示的文件夹结构:
图2-2-5
一旦您对文件或文件夹进行了任何更改,文件或文件夹的显示图片可能会改变。在下图中,我修改了其中两个文件:
图2-2-7
我们来看看不同状态对应的图片:
图2-2-8
我们已经知道如何将源代码签入到SVN服务器,如何将代码从服务器签出到本地计算机,并且简单地了解了对应于不同状态的模式。
三。将修改后的文件提交给上面图2-2-7中的SVN服务器。我修改了位于模型文件中的两个文件,ImageInfo.cs和NewsInfo.cs下面是如何将它们提交到SVN服务器。
注意:向服务器提交源代码时,要确保本地代码是最新版本,否则可能会提交失败或造成版本冲突。
右键单击模型文件夹或模型文件下的空白处,单击SVN提交…弹出如下表单:
图2-2-9
点击确定按钮后,会弹出如下图所示的表单:
图2-2-10
四。向SVN服务器添加新文件。我们在模型文件下添加一个新的类文件UserInfo.cs,在模型文件下的空白处单击右键,然后单击SVN提交…与上述提交修改文件到SVN服务器的方法相同就足够了。
也可以右键单击UserInfo.cs文件,然后单击TortoisesVN = >;& gt添加,弹出如下图所示的表单:
图2-2-11
选择UserInfo.cs文件,点击OK按钮,这样这个文件就不会提交到SVN服务器,而是在源代码库中被标记为文件,其状态被设置为已修改。之后,我们必须再次检查SVN提交文件,然后才能将它提交给SVN服务器上的代码库。
以上是关于添加文件的内容。其实添加文件夹的步骤都是一样的,这里就不说了。
5.更新本机代码与SVN服务器上的最新版本一致。这个也很简单。只需右键单击需要更新的文件夹或右键单击该文件下的空白处,然后单击SVN更新。
注意:更新操作可能会因版本冲突而失败,可以使用合并或其他方法解决;也可能因为锁定[Get Lock]而失败,需要先解锁[Release Lock]。
不及物动词重命名文件或文件夹,并将修改提交给SVN服务器。只需右键单击要重命名的文件或文件夹,然后单击TortiesVN = >;& gt重命名…,在弹出的表单中输入新名称,点击确定按钮,就可以了。该方法不直接重命名,而是将文件或文件夹的名称标记为重命名的名称,这也要求我们在实际重命名之前,使用SVN提交将其提交给SVN服务器。
七。删除文件或文件夹并将更改提交到SVN服务器。最简单的是,你直接删除文件或文件夹,然后使用SVN提交更新到SVN服务器。另一种方法是右键单击要删除的文件或文件夹= >;& gtTortoiseSVN = & gt& gt删除,这个方法不是直接删除,而是将文件或文件夹的状态设置为删除,这也需要我们在实际删除之前,使用SVN提交提交到SVN服务器。
注意:实际上,从你把源代码签入SVN服务器开始,每一个版本的数据和文件,甚至那些你已经删除的,都可以随时被移出。
以上只是TortoiseSVN最简单的功能。其实他的作用远不止这些。其他功能可以在使用过程中慢慢体验。我将在下面的教程中使用一些函数,到时候我会向你解释用法。
注意:在向SVN服务器提交源代码时,一定不能提交bin、obj等文件夹,否则会很麻烦。web项目的bin目录除外,但是web项目的bin目录中引用其他项目生成的dll不需要提交。
一个好习惯:如果项目中引用了其他第三方程序集,比如EnterpriseLibrary、FCKEditor等。,这个时候就不要简单的从它们的安装位置来引用了。相反,在您的解决方案下,添加一个库目录,将所需的程序集复制到此处,然后从库目录中引用它们。这样有什么好处?你自己想想吧!
如有疑问,欢迎随时发帖,我会及时解答。
好了,今天到此为止。本来说这部分是要写博客的,现在写这么长,也就一点基础,呵呵...
如果你对我讲解的内容不熟悉,建议你从头开始阅读这一系列教程:项目管理实践系列教程。
评论前必须登录!
注册