版本管理器SVN的使用

项目构建管理 1---svn( 版本管理工具 )

团队开发中使用

 

1,svn 简介

svn 是目前非常流行的版本管理工具

<1> 安装 SubVersion (Setup-Subversion-1.7.4 SVN 服务端) .msi)

<2> svn 下的 bin 目录放到环境变量的 path

<3> 运行 svn: 在命令行中输入 svnserve

 

-d 后台模式 ( windows 无效只对 linux 有效 )

-r( svn 的同目录下建立文件夹 root, 用来专门存储 svn 数据的 )

2, 服务器

<1> 服务器的创建

1 、创建一个根目录,这个根目录用来存储所有的 svn 的工厂信息(每一个工厂等于一个项目)

2 、启动 svn-->svnserve -d -r d:/svn/root

 

3 、对于 Linux 而言,直接后台启动即可 . 对于 window 而言,后台启动无用,所以需要将其添加到 window 的服务中

注意 :binPath = 后面要有一个   空格

这样之后就把服务添加到 windows 服务中去了 , 查看 , 将其改成自动 , 那么下次 windows 启动的时候就启动了 .

注意 : 有的时候在 win7 中的命令行中输入 sc 无效 , 解决方法 : path 下添加如下代码 :

%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;

<2> 开发流程

  1 、由配置管理人员创建工厂

这样 root 文件夹中就建立了 student 文件夹 , 这个文件夹中我们关心的是 conf 文件夹 , 这个文件夹中的 3 个文件是关于权限控制的 .

   2 、配置权限 (后面会讲解到 )

   3 、由项目经理创建初始项目 ( 基本的框架 ) 并且提交到 svn 工厂中 ( 提交的方式有两种 , 一是通过命令行 [svn import 命令 ], 一是通过客户端提交 )

客户端的安装

安装 TortoiseSVN-1.7.6 

   

   出现红色标志的按钮之后就说明安装成功!

 

如果这里只写URL of repository, 不写 import message 的话 , 会导入失败的 .

如果显示认证失败的话, 表示匿名用户是无法访问的 . 那么在 root 文件夹下的 student 下的管理权限的文件夹 conf 下的 svnserve.conf 文件中做如下修改 :

以上就正常的完成了导入

4、由开发人员进行 checkout 完成开发 

在开发人员的项目文件夹中, 点击右键 , 出现下图

点击checkout , 那么就会把工厂中的项目下载到这个文件夹中 . 并且这个文件夹中还会有一个隐藏的文件夹 .svn, 这里面是 svn 的配置文件 . 注意完成后开发人员的文件夹会变成这个样子 ( 有的时候需要重启电脑 )

3,客户端

<1>客户端的安装

这里省略, 因为上面已经讲解 .

<2>开发流程

1 checkout

2、开发完成之后 -->commit

开发完成后, 你修改的地方会出现红色的感叹号 , 说明这个文件跟工厂中的文件已经不一样了 , 这已经是修改过的 , 那么我们点击右键选择 SVN Commit, 加入修改信息 . 点击 ok

3、其他开发人员可以通过 -->update 更新 svn 仓库中的信息

4、现在开发人员 1 2 的程序版本都是一开始的 , 1 修该了自己的程序 , 提交完成后 ,2 再修改自己的程序 , 也提交 , 那么此时会报错 , 说你的程序已经过时了 . 你点击更新后 , 文件夹下会多了几个文件 , 这里面包括原始的代码 , 你修改后的代码 ,1 修改后的代码 , 这里会显示冲突代码 , 当你把自己的程序修改后 , 点击提交 , 就会更新仓库中的代码 . 但是这里有问题 : 如果冲突代码很多呢 , 怎么来解决这个问题 ?

No1修改代码之前先进行更新

No2项目经理分配任务的时候需要独立的来考虑(为不同的开发人员分配不同的模块进行开发,这样尽可能的避免冲突)

5,其他功能

查看日志: 右键 , 选择 TortoiseSVN 选择 show log 可以查看最近的操作日志

解决误删: 有的时候开发人员 1 误删除了一个文件 , 还提交了 . 那么仓库中就没有这个文件了 , 但是这个文件还是挺重要的 , 怎么办 右键 , 选择 TortoiseSVN 选择 Update to revision, 点击 show log 看看那个 版本是没有删除这个文件的 , 选中点击 OK, 误删除的文件回来了 . 但是这里有有问题 , 就是恢复出来误删的文件后 , 如果再提交是无法提交的 , 如果更新的话 , 那么误删的文件又没有了 , 怎么解决呢 ? 恢复出误删的文件 , 右键点击误删文件 , 选择 TortoiseSvn, 选择 Unversion and add to ignore list( 将这个文件加到忽略列表中 , 表示这个文件不受版本管理软件管理了 , 此时刷新 , 发现文件上出现一个灰色的叉 ) 然后我们再在这个文件上点击右键 , 选择 TortoiseSvn, 选择 add, 那么就将这个文件再此加入到版本管理中了 , 此时再提交 , 就可以成功的提交了 .

注意: 像一些日志信息和你的 class 文件一般可以加到忽略列表中去 .

<3>权限控制 

开启权限

Root下的仓库下的 conf 文件夹中的 svnserve.conf 文件中 :

设置密码:

Root下的仓库下的 conf 文件夹中的 passwd 文件中 :

设置权限:

Root下的仓库下的 conf 文件夹中的 authz 文件中 :

这样设置之后, 那么项目经理初次架构代码 import 时就会提示输入用户名和密码 . 开发人员下载代码的时候也会提示输入用户名和密码 .

4,eclipse中的使用

<1> STS中添加插件 (site-1.8.5.zip)

help中的 install new software,Add 加入路径 , 名字 , 安装 . 安装上之后 , 看视图那里应该多了 SVN, 将我们的工程加入 SVN : 工程名上点击右键 , 选择 Team, 选择 share Project 选择 SVN 点击 next, 输入地址 ”svn://localhost/ 仓库名 点击 Finash. 完成后工程那里的文件夹就是出现问号 , 表示还没有提交上去 . 完成开发后 , 在要提交的文件哪里点击右键 , 选择 team, 就会出现很多的选项 ( 更新 , 提交 ……) 这里 team 中的选项是中文的 , 我们设置成英文的 , STS 的安装目录下的 configuration 文件夹下的 config.ini 文件中加入以下代码 , 表示构建的模块全部是使用国际化的 , 而是使用英文的 .osgi.nl=en_US

<2>Myeclipse中添加插件

网上下载PluginConfigCreateor.java 运行 , 得数据 , 配置到 myeclipse ……( 具体见视频 05_svn_ eclipse 中安装 svn 的插件 .avi)

你可能感兴趣的:(SVN)