1. SVN(Subversion)的作用

  • 对数据进行备份
  • 对代码进行还原
  • 协同修改,多人可以同时修改同一文件
  • 多版本项目文件管理
  • 历史记录,追溯问题代码的编写人和编写时间,恢复到历史版本
  • 权限控制

2. 基于CentOS7系统的SVN服务器端环境搭建

2.1 安装服务器端程序

### 安装SVN服务器端
yum install -y subversion### 查看版本信息这里是确认是否正确安装
svn --version

2.2 创建并配置版本库

### 创建SVN的根目录
mkdir -p /var/svn/repository### 创建N个项目目录
cd /var/svn/repository/
mkdir pro_oa
mkdir pro_erp### 创建某个项目对应的版本库
cd /var/svn/repository/pro_oa/
svnadmin create /var/svn/repository/pro_oa/

2.3 配置SVN对应的服务

### 设置SVN服务开机自启动
systemctl enable svnserve.service### 指定默认根目录
vim /etc/sysconfig/svnserveOPTIONS="-r /var/svn/repository"### 永久关闭selinux
vim /etc/selinux/configSELINUX=disabled### 防火墙允许访问默认端口3690
firewall-cmd --zone=public --add-port=3690/tcp --permanent
firewall-cmd --permanent --add-service=telnet
firewall-cmd --reload### 修改pro_oa项目下的配置文件
cd /var/svn/repository/pro_oa/conf
cp svnserve.conf bak_svnserve.conf_bak
vim svnserve.confanon-access = write### 启动svnserve服务
systemctl start svnserve.service

3. SVN的基本操作

### 检出到某个目录下,并创建工作副本 .svn
cd /root/workspace/harry
svn checkout svn://192.168.1.125/pro_oa ./### 添加
svn add hello.txt### 提交
svn commit hello.txt -m "My First"### 查看提交文件列表
svn list svn://192.168.1.125/pro_oa### 更新到本地 后面可以加指定的文件
svn update

4. Eclipse中使用SVN

4.1 Eclipse安装SVN插件

下载SVN插件site1.x.xx.zip;

将site1.x.xx文件夹解压,将解压出来的所有文件拷贝到eclipse安装目录下的dropins文件夹内;

重启eclipse

4.2 Eclipse工程上传到SVN服务器

   

  

4.3 Eclipse从SVN服务器Checkout

   

4.4 Eclipse的SVN创建分支、合并分支

  如果只更新某些版本的,则选择select revisions;如果需要合并分支的所有,直接选择第一个选项All即可

   

4.5 解决合并分支的文件冲突

  在合并的过程中,难免会遇到冲突文件,在合并过程中会提示你

 

5. SVN的权限管理

cd /var/svn/repository/pro_oa/conf
cp authz bak_authz_bak
cp passwd bak_passwd_bakvim svnserve.conf# 匿名访问关闭 授权访问可读可写anon-access = noneauth-access = write# 指定设置用户名密码的文件password-db = passwd# 分配权限的配置文件authz-db = authzvim passwd[users]# 创建两个可读可写用户zmj = 123456sxy = 123456# 创建一个只读用户mimi = 123456vim authz[groups]# 针对版本库根目录,开发组两个可读可写,测试组一个只读,其他没有权限develop = zmj,sxytest = mimi[/]@develop = rw@test = r* =

6. TortoiseSVN(小乌龟)的使用

6.1 清空认证数据(登录信息)

6.2 设置SVN全局的忽略文件

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db .settings */settings/* .classpath .project target */target/*

6.3 在分支上,选择主干版本号合并主干代码

 

7. IntelliJ IDEA使用SVN

7.1 idea引入客户端TortoiseSVN\bin\svn.exe

7.2 idea将项目Share到SVN服务器

Share到服务器时,首先要确认服务器的创建情况,我一般选择则选择第二个

7.3 idea将项目代码Commit到SVN服务器

7.4 idea忽略上传文件

如果找不到也可以直接配置这里

7.5 idea创建分支或里程碑

7.6 Idea检出分支代码

新建一个工作空间,比如D:\ideaWorkSpace\MyTest\2022-03-01_投资优化,MyTest是工程名,2022-03-01_投资优化是除去工程名的分支名。然后在Idea中打开

7.7 Idea更新当前分支代码

如果更新时,遇到冲突,

 有时候,会自动变成如下这样,而不是自动出现Merge窗口,则右键文件选择ResolveText Con...

 

如果只修复了冲突,出现Apply,没有出现Mark Resolved,那么自己可以手动选择一下

7.8 合并某个分支

如果合并主干代码,

如果合并其他分支,

8. SVN规范

  • Trunk 主干目录,此目录下的文件为基准文件;Branches 用于开发的分支目录;Tags 用于发布的版本目录;
  • 分支的定义规则: ProjectName_YYYY-MM-DD_功能点;
  • Tags的定义规则 ProjectName_版本号,版本号定义为三段数字编号 xxx.xxx.xxx, 第一个:革命性的产品升级版 ,第二个:新功能版 ,第三个:修正bug;

SVN的介绍、搭建和使用相关推荐

  1. 文件管理的艺术之SVN从零搭建

    一直以来对SVN(subversion)的认识只停留在简单的概念上,至于到底是做什么用的.怎么用还是比较茫然,偶然的机会要为公司分部门搭建SVN,这才从头到尾的理清了一遍SVN这神奇的软件.在这里写下 ...

  2. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

  3. Svn服务器的搭建与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 要把svn代码同步到git服务器上,本来是想通过subgit直接同步进行就行了.但是自已 ...

  4. 02~ 一步一步教你使用 SVN之SVN 的介绍

    SVN的介绍 一.学习SVN的主要内容的介绍 1.基本操作:学习SVN有哪些基本操作 2.服务器端的安装配置:SVN中必不可少的2个环境之一,会在下面的课程中介绍服务器如何去安装和配置 3.客户端软件 ...

  5. Centos7下SVN服务端搭建以及hook应用

    介绍 SVN是subversion的缩写,是一个开放源代码的版本控制系统,特点是集中式管理,即一个远程主干分支,多个本地分支.同一时刻只能有一个用户commit,适用于中小型项目,方便快捷. 一.SV ...

  6. windows关闭svnserver_Windows停SVN服务的搭建和使用(二)-Win32Svn

    Windows下SVN服务的搭建和使用(二)-Win32Svn Windows下SVN服务的搭建和使用(二) VisualSVN-Server+TortoiseSVN是Windows下最方便易用的SV ...

  7. Linux下SVN服务器的搭建

    Linux下SVN服务器的搭建 宗旨:技术的学习是有限的,分享的精神是无限的. 1.下载工具(下载地址:) subversion-1.6.1.tar.gz subversion-deps-1.6.1. ...

  8. svn 服务器的搭建以及客户端的使用

    1.svn 服务器的搭建以及客户端的使用,安装见下面的博客 https://blog.csdn.net/zh123456zh789/article/details/80921179 说明:服务器只是用 ...

  9. Linux系统下SVN服务器的搭建过程详解 UpJ}s7+

    Linux系统下SVN服务器的搭建过程详解 UpJ}s7+   1 环境:  服务器放在redhatAS4.0上,客户端在windows 2000. k_lb"5z   Z]jSq@%1H* ...

  10. 虚拟机搭建svn服务器,轻松搭建一台Windows SVN服务器

    说明 :如果文章图片不能查看,请进入个人blog的主页查看:http://www.msits.com 通常的SVN服务器是搭建在Linux等系统下,例如用Apache+SVN配置,Linux下的SVN ...

最新文章

  1. oracle时间相减得到天数_【数列】从错位相减到阿贝尔变换
  2. thread.sleep是让哪个线程休眠_java开发两年,这些线程知识你都不知道,你怎么涨薪?...
  3. nyoj1170最大的数
  4. GoldenGate系统二:快速搭建三方单向通信GoldenGate环境
  5. CSS改变input光标颜色
  6. 技术如何转型产品经理
  7. python代码块缩进_Python代码需要缩进吗
  8. Windows8 商店支付功能
  9. SQL Server数据库出现恢复挂起时的解决办法
  10. 接unityads_[蛮牛教程]unity接入unity Ads详细流程
  11. Ubuntu18.04安装ntl库
  12. css固定图片大小 vue_css3 实现图片等比例放大与缩小
  13. 【锐捷】交换机,AC设备虚拟化(VSU、VAC)
  14. 垃圾回收之三色标记法
  15. SAP HANA XS CDS简介
  16. RocketMQ 集群告警
  17. Thonny连接PiPico出现Device is busy or does not respond.解决方法
  18. 【git学习】git clone 出错 error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
  19. 【线程基础】多个线程,顺序输出
  20. 1. src 和 href 的区别?

热门文章

  1. 使用iText读取PDF文件
  2. als算法参数_ALS算法 (面试准备)
  3. python爬取“堆糖网”小姐姐 图片
  4. python3网络爬虫(2.1):爬取堆糖美女
  5. pycharm 运行celery_调试celery遇到的坑
  6. 我的运算放大器(四)加法电路
  7. linux V4L2子系统——v4l2的结构体(3)之v4l2_subdev
  8. 全概率公式与贝叶斯公式
  9. 读书百客:《山坡羊·北邙山怀古》赏析
  10. ScreenToGif