版本控制 - 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 提交