在团代开发中,我们一定会接触到源代码管理工具一概念的,为什么需要源代码管理工具?主要是为了解决在软件开发过程中,由源代码引发的各种蛋疼、繁琐的问题。本篇文章就简单介绍一下源代码管理工具之一的SVN(Subversion)。SVN是为了取代CVS而设计出的一种集中式开源源代码管理工具,目前在我国国内使用率非常之高。
1.SVN的基本操作
通过下面这张图片我们来简单了解一下VSN基本架构
1.如果以类来区分的话,一共有两类角色,一类为左边的Server,另一类为右边的User。
2.Server翻译过来为服务器,观察服务器左边有个SVN repository,翻译过来为SVN仓库,由此引出 SVN的使用,首先要有个服务器,而服务器里面有个SVN的仓库,仓库是用来存放源代码来对源代码进行管理。
3.如果user1想要服务器的源代码,那么需要将服务器的源代码下载到user1的本地,通过svn checkout命令。
4.svn commit :将本地修改的内容提交到服务器(包括添加的和修改的)。
5.svn update:将服务器最新的代码下载到本地(如果本地没有该文件则下载该文件到本地,如果有文件,就下载没有的代码到本地)。
提醒: 每天下班前commit "可运行版本":写了一天的代码了,本地存了很多的代码,这个时候一般情况下需要提到服务器进行共享,因为项目经理可以通过提交信息间接的知道你今天都做了哪些事情.这里需要注意的一点是要提交一个可运行的版本,如果提交的command +B编译错的版本,这个时候如果其他同事更新也会把错误的版本更新到本地,就会造成编译报错,就没有办法继续开发了,只有你这里修改到可运行的版本,之后同事再更新,这会大大的浪费时间,并且降低工作效率。
2.SVN使用的环境
1.服务器:
*作用:用于存储客户端的源代码
*安装:在window上面安装visual SVN Server就可以了
*补充:一般情况下,公司里的开发人员不必亲自搭建服务器,一般由项目经理或者技术总监来做,但是我们也有可能会坐上这样的岗位,所以也会演示
2.客户端:
*作用:将本地的源代码上传到服务器,或者更新服务器的源代码到本地保持同步
*安装:可以在mac上面使用命令行
Versions(可以在MAC上使用的SVN客户端,对命令行封装,功能简洁易用)
cornerstone(可以在MAC上使用的SVN客户端,对命令行的封装,好用且功能强大,也目前用的最多的)
Xcode,随着xcode升级,xcode对SVN的集成越来越好,也可以使用xcode来操作svn,其实本质也是对命令行的封装
3.SVN服务器的搭建
一.前提准备
1.如果是在mac上面进行演示,需要在MAC上安装windows虚拟机
2.软件:visual SVN Server,windows软件,一般安装最新版的
二.开始安装
1.将软件放到MAC的桌面,并让虚拟机共享桌面的内容
2.在虚拟机中双击软件
3.遵守协议,点击next
4.选择需要安装的组件,点击next
5.选择版本为标准版本(点击standard Edition)
6.设置软件安装地址,代码仓库地址,以及传输协议
7.安装成功后,选择点击finish后打开该应用程序
8.打开后的界面
二.演示添加代码仓库
1.比如开发一款微信软件,那么需要一个微信的代码仓库
2.右键Repositories,单击选中Create New Repository
3.填写项目名称,点击next
4.新人学习先选择创建一个空的代码仓库,点击next
5.配置访问权限,选择没有人可以访问,点击Create
6.创建成功后的显示
7.一般情况下,代码仓库里面不是什么都没有的,创建文件夹
a.右键weChat,选择新建,单击folder
b.创建一个code文件夹(用于存放代码)再创建一个doc文件(用于存放文档信息)
c.创建成功后在代码仓库中就能看到这两个文件夹
8.刚在创建代码仓库时设置没有人可以访问,需要设置人员进行访问,右键User,单击Create User
9.填入用户名和密码,之后点击OK,添加经理,张三,李四三个用户
10.创建完之后,来到Users,可以查看当前所有用户
11.设置经理,张三,李四可以访问微信代码仓库
a.右键weChat,单击Properties
b.点击Add,用户添加用户或者组
c.点击张三,李四,经理点击ok,并且这里也可以点击Create user来创建用户,步骤与上述创建步骤一致
d.设置所有用户可读也可写,之后点击确定
12.刚刚演示的是创建用户,下面来演示创建组,如果一个项目是多人开发,那么将开发此项目的所有的人员都加入到一个组中,那么更利于管理
a.右键Groups,点击选择Create Group
b.单击add,将所有成员添加到Members中
c.输入组名为weChat,点击OK,这样就将张三李四经理添加到了微信组
d.如果某一个微信项目做完了,这个时候需要开发陌陌项目,那么可以创建一个陌陌项目,让微信组的所有成员来开发陌陌,只需要,设置所有微信组的成员来访问陌陌(创建一个空的momo项目并任何人都不能访问),右键momo项目,选择properties,点击add,选中Groups下面的weChat,点击OK
e.选择weChat组,并选中read/write,之后点击确定,这样wechat组的所有成员都可以访问momo了(演示完后,momo不需要右键直接删除)
12.目前代码仓库创建好了,也创建用户可以访问代码仓库,下面来测试下如何进行访问,右键weChat,选择Copy URL to Clipboard(复制到剪贴板中)
13.先尝试在虚拟机的IE浏览器中进行访问,访问后弹出一个弹框,这里需要输入帐号和密码(因为该仓库不是谁都能访问的),输入经理的用户名和密码点击确定
14.访问成功后可以在浏览器中看到当前代码仓库中有哪些东西
15.需求为在MAC电脑上访问虚拟机的代码仓库,尝试在MAC电脑上访问此URL,发现无法访问(因为访问的为主机名,在虚拟机,IE知道我的主机名,而MAC中不知道这是什么东西,所以无法访问)
16.将主机名换为Windows的ip地址就可以进行访问了
a.通过点击开始->运行->输入cmd打开终端,输入ipconfig
b.将主机名换成ip地址,在MAC的Safari上进行访问,弹框需要输入帐号密码,说明可以进行访问,输入经理的帐号和密码,点击登录
c.登录成功之后,可以在此看到,服务器的代码仓库里都有些什么东西
17.总结:
a.安装visual SVN Server软件
b.创建代码仓库
c.创建用户,设置用户权限
d.创建组,设置组的权限
e.MAC电脑访问虚拟机的SVN服务器中的代码仓库