项目构建管理 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)