一、实验目的
小作坊:每个开发人员电脑上有自己的代码。硬盘坏了,欲哭无泪。安全意识强一些的公司会要求开发人员将代码隔一段时间放到一个集中的计算机上,以日期为文件夹进行备份。问题:如果备份不及时代码仍然会有部分丢失;过多的备份文件夹大部分内容是重复的会造成磁盘占用;无法做到多个人开发一个项目;无法对比两个版本的差异;代码改坏了,想回退也麻烦。
正规开发团队:使用源代码管理(SourceControl)工具,源代码管理工具主要作用:代码版本管理、多用户并发修改管理。常用工具:VSS(Visual SourceSafe,简称SourceSafe)、TFS(Team Foundation Server)、CVS、SVN等。前两者都是微软的产品,也是.net开发最主流的两种源代码管理工具,VSS适合于几个人的小团队,VSS只能进行源代码管理;TFS适合大团队,不仅包含源代码管理,还支持Bug管理、文档管理、持续构建等。
由此可见,掌握源代码管理工具对软件开发有重要作用,本文档目的就是对几个常用的源代码开发工具进行优缺点分析,帮助大家选择适合自己的开发工具。
二、实验环境
1.单人开发只需要一个本地库
2.多人开发时需要一个共享版本库
3. 使用环境无论是单人开发还是多人开发,客户端都可以使用命令行或者图形界面使用git
三、实验内容
在以前的语言课上所学的知识几乎都是写一些十几行、几十行的小程序,没有开发过较大的项目或软件,根本不用这些软件管理,所以没有使用这些代码管理工具的经验,只能上网查找相关资料。通过网上查阅相关资料发现:他们的核心功能基本相同,但还是有各自的优缺点,下面详细说一下几个比较著名的源代码管理软件的优缺点。
1.GitHub
优点:
(1)代码合并很方便,可以对各种库进行托管并提供Web界面。
(2)可以找到很多好的开源代码让我们学习。
(3)支持多个人相互交流,共同完成一个项目。
缺点:
命令很多,对于新手来说入门学习是一个较为困难的过程。
2.Gitlab
优点:
(1)免费,用户可以拥有无限数量的私有存储库。当然为了满足客户要求,GitLab也有企业版,在其基本功能之上增加了一些额外的功能,从而改善了与在线工具,工作流和服务器管理等的交互。
(2)在开源许可证下运行。
(3)错误跟踪和基于Web的代码编辑。
(4)与LDAP集成,允许在lnternet上定位和访问各种资源。企业版支持多种LDAP服务和组同步。
(5)支持Git导入。
缺点:
(1)界面相对较慢。
(2)存储库常见的技术问题。
3.Bitbucket
优点:
(1)对于小团队免费。
(2)—个集成的查询管理系统。
(3)通过社交媒体和GitHub认证。
(4)集成Jira工具,和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,JIRA自动更新有关检测到的问题的信息。
(5)可以导入现有Git项目。
(6)支持Git,CodePlex,Google
Code,HG,SourceForge,SVN导入。
缺点:
(1)不开源。
(2)系统不稳定。
4. vss
优点:
(1) VSS 没有采用对许可证进行收费的方式,只要安装了 VSS ,对用户的数目是没有限制的。因此使用 VSS 的费用是较低的。
(2) 可以得到稳定的技术支持。
(3) 安装和配置非常简单,对于该产品,不需要外部的培训
缺点:
(1)VSS 的安全性不高。
(2)VSS 的配置管理的功能比较基本。
5. svn
优点:
(1) SVN
的功23能具备 VSS 的功能。
(2)可以完成精细的权限控制,还能完成更加个性化的功能(3)通过社交媒体和GitHub认证。
(3)SVN 是开发源码软件,无需支付购买费用
缺点:
(1) SVN
的权限设置单一,无法完成复杂的权限控制
(2)同样因为 SVN 是开发源码软件,没有生产厂家为其提供技术的支持。如发现问题,通常只能靠自己查找网上的资料进行解决
6. ClearCase
优点:
(1) ClearCase
提供 VSS, SVN所支持的功能
(2)ClearCase 通过多点复制支持多个服务器和多个点的可扩展性,并擅长设置复杂的开发过程
缺点:
(1) ClearCase 的安装和维护远比 VSS 复杂
(2)ClearCase 提供命令行和图形界面的操作方式,但从 ClearCase 的图形界面不能实现命令行的所有功能
四、实验步骤(图文方式叙述)(宋体四号加粗)
SVN:集中式版本控制。是CVS的接班人,速度比CVS快,功能比CVS多且强大。在国内使用率非常高(70%~90%)。下面是对SVN的使用的主要介绍。
SVN的基本操作图是:

使用步骤:
一. 客户端的使用:
1.先下载安装(这个英文版的,如果你想要使用中文版的,可以下载一个语言包)。

2.安装好之后,然后一路next即可安装。安装完毕后,在任意地方右键查看快捷菜单。发现TortoiseSVN即表示安装成功。

3.使用说明
3.1检出项目
3.1.1假如项目已经在服务器的仓库里,那么现在你要做的就是把它检出到本地。
首先创建一个空文件夹。在空文件夹内右键,选择SVN检出。

然后选择下图所示的界面,选择箭头所示的选项:

4. 现在你看到应该是这个界面,填入版本库地址,选择确定。

此时会弹出一个对话框让你输入账号密码,输入你的账号密码即可。记得勾选保存认证,不然每次操作都会让你输入。

5. 等几分钟就可以检出完毕。

6. 此时在你的目录下就能看到你的项目,现在可以开始愉快的工作了。

二、导入项目
但是有时候你已经在本地建立好了项目,需要把你项目推到SVN上,此时应怎么做呢? 右键选择版本库浏览器。在相应目录下,右键,加入文件/加入文件夹,选择相应目录即可。

比如我现在有个项目叫ha,我想把它传到SVN上。那么我只需选择加入文件夹即可。

务必要输入提交信息。这样别人才能知道你干了什么。

但是,不要以为导入成功就可以了。你还得重新检出,重新检出的项目才是受SVN控制的,务必记得检出。

在ha上右键检出到本地,然后在里面进行修改。现在就可以愉快的工作了。
检出过后的右键菜单变成了这样。

提交。绿色表示当前文件没有被修改过(看不见颜色的重启下电脑就好了)。
三.服务器端是:
在这里注册一个账号,创建一个项目,然后在客户端提交的时候,填写这个地址就可以了,也可以添加成员,同组成员可以修改项目信息。如下图所示,更新,假如你和B同学在协作。B同学写完代码提交到了SVN上,如果你想获取最新修改,就需要选择更新


五、实验结果及分析(遇到的问题与解决)(宋体四号加粗)
不知道服务器是否更新,你可以直接选择更新,有没有更新一下就知道。或者右键检查修改,然后检查版本库,就能看到服务器上改了哪些文件。我们在日常使用中,最常用的是更新和提交操作。这两个步骤务必要非常熟练。其他的可以在遇到问题是查看文档。此外,需要注意的是,所有版本控制工具只能跟踪文本文件(能用记事本打开查看的文件),不要妄想SVN能记录你word改了哪一行。一旦遇到word冲突,记住仔细对比两个版本,然后解决冲突。
六、实验体会
1.通过本次实验,我了解了常用的源代码管理工具与开发工具,知道了它们的用途。知道了在哪些情况下使用哪些工具,有效使用工具能极大地提高我们的学习和工作效率。
2.对于那些常用的IDE,通过官网了解了它们的特色功能,但那些功能一般都是比较高级的功能,初学时还用不到,所以只要简单了解即可。
浙公网安备 33010602011771号