【软件工程】6.svn的使用

上一次我们成功安装了SVN,并注册了服务。我们的重头戏是使用TortoiseSVN这个客户端工具。它可以做好多事情:增删改查,版本校验、冲突解决等全部都可以解决。

Tortoise介绍:
是SVN的一个图形化界面客户端工具,Tortoise安装(1.7+选择安装命令行端可不再需要安装SVN服务器端,因自带有)
完毕后,继承在鼠标右键菜单中(类似window的一个插件)


既然要用客户端,首先要有一个服务端的代码提供给客户端进行操作的。我们需要提交一个代码给SVN服务端(即后台)。
首先我们要给服务器端设置一下权限。
简单介绍一下版本库各个文件夹的作用:


我们打开conf,来配置服务端的文件信息:


我们打开svnserve.conf修改其中的信息(汉字注释是为了说明,应删去):


其中的账号密码就保存在与svnserve.conf同一文件夹的passwd文件中:


我们打开passwd,向其中添加几个账号密码:


下面我们开启svn服务器:
在控制台输入svnserve -d -r D:\SVNServer\2015_SVN_1
或者直接创建该服务然后双击启动(一定要用管理员身份运行):

服务器运行成功:


现在要做的就是向服务器中加代码:
步骤1

结果:


我们在localhost中加入一个文件:


我们要把这个文件加入到代码库中去,首先在文件上点击鼠标右键,弹出菜单,选择SVN客户端TortoiseSVN,选择添加Add:

然后退出来发现桌面的localhost文件夹的图标已经变成这样:


就是说已经有文件添加到代码库中去了,但是还没有提交到服务器进行同步。
然后我们将本地代码提交到服务器:


添加注释后提交至服务器:


输入我们之前预先设置的账号密码:


提交成功:


提交成功之后我们的文件变成带绿色对勾的文件,说明本地文件和服务器端文件代码内容是匹配、没有改动的:


我们现在看一下版本库是什么情况:

之后就可以看到服务器端的版本库中的内容

(默认url是svn的,也可以使用http协议)

我们想在服务器版本库查看文件是谁添加的,可以这样做:


可以清楚的看到是谁在什么时间添加了什么样的文件.

我们修改一下本地的工作进度文件:

保存后发现文档的图标变成感叹号,说明和服务器文件内容不一致了。

我们再提交一次(用第二个人的账号模拟),发现提交成功之后版本号变成了2:

然后文件图标就变成绿色钩钩了,说明和服务器同步了。
如果服务器端版本库中的文件被删除或者其它情况,我们每次开机之后都要习惯性的在本地代码库中更新一下(即同步本地版本库),看看有没有变化:


然后我们谈一下同步的问题:
我们再checkout一个本地版本库,然后更改一下名字,模拟第二个人的本地代码库:


然后两个人的进度和内容不一样:


我们首先提交localhost的文件,然后再提交localhost2的文件,之后我们看看会不会出问题:
发现我们提交localhost2的文件的时候,提示我们文档过期了,需要我们更新文档之后在提交:


于是我们更新一下本地版本库:


然后可以看到我们本地的和服务端的文件的区别:


因为我们和版本库的数据不一样(同一行的数据不一样,不是新增数据),我们还无法提交数据,所以我们要解决本地版本库与服务器版本库的数据冲突问题:

我们可以看到这里的不同数据,需要你修改成同步数据:


我们根据语句块选择需要进行的操作:


我们让修复bug在前,完成投诉模块在后,最后才测试:

然后点击绿色对号完成冲突的解决。

发现我们的localhost2本地版本库的文件已经变成这样:


然后我们再次提交之后发现提交成功:


然后我们去服务器版本库中去看,发现最终提交的版本是最终整合版:


如果两个客户端提交的文件不在同一行数据不同的情况下,svn会自动进行合并。

如果我们修改了文件而且保存退出了之后,我们想恢复到修改之前的情况,可以点击回滚来解决:


当然,我们也可以将文件跳至任意一个版本的文件:



所以想取得任意一个版本的代码都是可以的。

导入新的文件,可以将文件放入一个文件夹中,右键点击文件夹就可以上传文件夹中的文件:



打开服务器版本库发现我们的文件已经导入:


接下来一些常识:
SVN使用图标说明:


TSVN的使用基本流程:


转载请注明出处:http://blog.csdn.net/acmman/article/details/50742055

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值