linux 环境安装sbversion&&window 环境下eclipse ide 安装svn插件
1 SVN的工作机制
1.1 C/S结构

1.2 基本操作
检出(Checkout)
把服务器端版本库内容完整下载到本地在整个开发过程中只做一次。
更新(Update)
把服务器端相对于本地的新的修改下载到本地。
提交(Commit)
把本地修改上传到服务器。
2 服务器端环境搭建步骤
2.1 安装服务器端程序(本人用的centos linux )



2.2 创建并配置版本库
创建版本库目录
mkdir -p /var/svn/repository
在版本库目录下创建具体项目目录
cd /var/svn/repository
mkdir pro_oa
创建SVN版本库
svnadmin create /var/svn/repository/pro_oa
版本库内容

2.3 配置SVN对应的服务

SVN服务
名称:svnserve
默认情况下不是开机自动启动


对应可执行脚本文件路径
/etc/rc.d/init.d/svnserve
注意备份


|
原版 |
|
args="--daemon --pid-file=${pidfile} $OPTIONS" |
|
修改版 |
|
args="—daemon --root版本库根目录--listen-port指定端口号 --pid-file=${pidfile} $OPTIONS" |
|
args="--daemon --root /var/svn/repository --listen-port2255 --pid-file=${pidfile} $OPTIONS" |
|
使用默认端口号的配置方式 |
|
args="--daemon --root /var/svn/repository --pid-file=${pidfile} $OPTIONS" |
2.4 启动SVN服务





3 命令行客户端
3.1 创建两个工作区目录模拟两个开发人员
mkdir -p /root/workspace/harry
mkdir -p /root/workspace/sally
3.2 检出
作用:完整下载版本库中的全部内容。
命令:
svn checkout svn://192.168.70.140/pro_oa ./ 表示取出来存在当前目录下
附加效果
在指定目录下创建.svn目录
保存本地目录和文件状态信息,用来和SVN服务器进行交互
工作副本
.svn所在的目录
版本控制相关操作都需要在工作副本目录下执行。例如:提交、更新等等这样的操作。
为了保证工作副本能够正常和服务器进行交互,请不要删除或修改.svn目录中的内容。
3.3 添加
SVN要求提交一个新建的文件前先把这个文件添加到版本控制体系中。
svn add 文件名
3.4 提交
要求1:附加日志信息
日志信息相当于写Java代码时的注释,用来标记本次操作所做的修改。
svn commit -m "xxx" [文件名]
要求2:必须具备相应的权限
使用文本编辑器打开版本库根目录(/var/svn/repository/pro_oa)/conf/svnserve.conf文件
把匿名访问配置项的注释打开。注意:行的开头不能有空格

|
[root@qi harry]# svn commit hello.txt svn: 提交失败(细节如下): svn: “/root/workspace/harry/hello.txt” 尚未纳入版本控制 [root@qi harry]# svn add hello.txt A hello.txt [root@qi harry]# svn commit hello.txt svn: 提交失败(细节如下): svn: 无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用 --message (-m) 或 --file (-F) 选项 svn: 没有设置 SVN_EDITOR,VISUAL 或 EDITOR 环境变量,运行时的配置参数中也没有 “editor-cmd” 选项 [root@qi harry]# svn commit -m "My first commit" hello.txt svn: 提交失败(细节如下): svn: 认证失败 [root@qi harry]# svn commit -m "My first commit" hello.txt 增加 hello.txt 传输文件数据. 提交后的版本为 1。 |
3.5 查看服务器端文件内容

3.6 更新操作
作用:把服务器端文件所产生的所有修改下载到本地
命令:svn update [文件名]

4 Eclipse的SVN插件
4.1 简介
Subversive
Eclipse团队开发的SVN插件。
Subclipse
Apache的SVN团队开发的Eclipse插件。
4.2 Subversive的安装
安装前
Eclipse→Window→Preferences→Team

用户家目录下没有Subversion目录
安装过程
打开Eclipse应用市场

搜索Subversive

确认安装项目


点yes即可
同意协议,点Finish

安装过程

确认重启

4.3 SVN Connector安装
Get Connectors

选择要安装的Connector

下一步、下一步……
同意协议,Finish

点击Install anyway

确认重启

4.4 创建资源库位置
目的:让本地Eclipse SVN插件知道SVN服务器的位置
操作步骤
第一步:切换透视图

第二步:创建资源库位置

输入SVN服务器的URL地址

效果

4.5 Eclipse工程中忽略文件
Eclipse特定文件

忽略特定文件的原因
在服务器上最终运行工程完全没有关系
开发团队中,并不是所有参与开发的成员都使用相同的IDE,所以代码文件之外的IDE特定文件有可能有区别。如果这些文件
也都上传到SVN服务器,那么很可能产生冲突。不同IDE之间可以基于Maven的标准目录结构识别工程。
配置全局范围忽略文件的操作方式
配置文件位置
|
~\AppData\Roaming\Subversion\config |
|
例如:C:\Users\Lenovo\AppData\Roaming\Subversion\config |
要修改的配置项
把global-ignores的注释打开
|
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store .settings */.settings/* .classpath .project target */target/* |
※如果在Eclipse中操作,target目录会自动忽略;如果使用TortoiseSVN则需要追加target目录设置。
4.6 分享工程
第一步:工程→右键→Team→Share Project...
第二步:版本控制工具中选择SVN
第三步:选择一个已经存在的资源库位置或新建一个
可以直接点Finish(工程在SVN服务器端的目录名和工程名一致;上传工程目录的日志使用默认值)

第四步:确认工程根目录下子目录和文件是否全部上传

4.7 常见图标含义

4.8 检出操作
在Eclipse中执行Import操作

确认资源库位置

找到SVN服务器端工程对应的目录


选择检出方式

Finish

转换工程类型

最终效果

浙公网安备 33010602011771号