版本控制 - svn
版本控制
1.为什么需要版本控制?
从个人开发过渡到团队协作。
2.版本控制工具
- 集中式版本控制工具
CVS、SVN、VSS…… - 分布式版本控制工具
Git、Mercurial、Bazaar、Darcs……
3.SVN工作机制
- 检出(Checkout)
- 把服务器端版本库内容完整下载到本地。
- 在整个开发过程中只做一次。
- 更新(Update)
- 把服务器端相对于本地的新的修改下载到本地。
- 提交(Commit)
- 把本地修改上传到服务器。
4.SVN服务器端安装
yum install -y subversion
[[email protected] ~]# svn --version
svn,版本 1.7.14 (r1542130)
编译于 Apr 11 2018,02:40:28
版权所有 (C) 2013 Apache 软件基金会。
此软件包含了许多人的贡献,请查看文件 NOTICE 以获得更多信息。
Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。
可使用以下的版本库访问模块:
* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。
- 处理“http”方案
- 处理“https”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。 - 使用 Cyrus SASL 认证
- 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案
5.创建版本库
①SVN服务配置文件
/etc/sysconfig/svnserve
# OPTIONS is used to pass command-line arguments to svnserve.
#
# Specify the repository location in -r parameter:
OPTIONS="-r /var/svn"
这个文件只是看看,不需要改。
②创建版本库目录和项目目录
mkdir -p /var/svn/pro_oa
③执行svnadmin命令真正创建版本库
svnadmin create /var/svn/pro_oa
④将来的访问方式⑤启动SVN服务
systemctl start svnserve.service
systemctl enable svnserve.service
开启匿名访问
vim 版本库根目录/conf/svnserve.conf
anon-access = write
关闭selinux
vim /etc/sysconfig/selinux
SELINUX=disabled
reboot
6.Eclipse访问SVN服务器
①Eclipse中的SVN插件
[1]简介
Subversive:Eclipse团队开发的SVN插件。
Subclipse:Apache的SVN团队开发的Eclipse插件。
[2]安装过程
②创建资源库位置
③Eclipse中忽略特定文件
操作方法:
-
第一步:打开~\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/
④分享工程
- 第一步
工程→右键→Team→Share Project… - 第二步
版本控制工具中选择SVN - 第三步
选择一个已经存在的资源库位置或新建一个
可以直接点Finish(工程在SVN服务器端的目录名和工程名一致;上传工程目录的日志使用默认值)
- 第四步
确认工程根目录下子目录和文件是否全部上传
⑤常见图标含义
⑥检出
- 第一步
在Eclipse中执行Import操作
- 第二步
确认资源库位置
- 第三步
找到SVN服务器端工程对应的目录
- 第四步
选择检出方式
- 第五步
Finish
- 第六步
转换工程类型
- 第七步
最终效果
⑦其他基本操作规律
资源→右键→Team→相关菜单项
⑧解决冲突
- 第一步
冲突文件→右键→Team→Edit Conflicts - 第二步
在这个界面中修改至满意,关闭界面。
- 第三步
标记为“已合并”
冲突文件→右键→Team→Mark as merged
提交