环境:centos7

一、搭建svn服务

1. 安装svn

  yum -y install subversion

2. 创建一个目录作为svn服务的地址(svn://192.168.0.2:3690 访问的目录,作为所有仓库的根目录)

  mkdir /home/svn

3. 在svn目录下为一个需要版本控制的项目创建仓库,一个svn服务可以有多个仓库

  svnadmin create /home/svn/tp5

  tp5目录下不要直接添加,删除,随意修改文件,要使用svn客户端操作。否则仓库可能报废

4. 为项目配置用户和权限

  cd /home/svn/tp5/conf 

  (1)设置访问的用户和密码 

    vim passwd  #加入如下代码:

    [users]  #表示访问svn服务根目录

    user1 = 1234 #创建了2个用户及密码

       user2 = 123

    (2)设置用户的权限(可分组)

    vim authz  加入如下代码:

    [/]  #仓库的权限

    user1 = rw  #可读可写

    user2 = r     #只读

    *=      #其它用户没有任何权限

    或分组给权限:

    [group]

    group1 = user1,user2  #group1组里有2个用户:user1,user2

    [/]  #访问根目录的权限

    @group1 = rw    #这样user1和user2都有rw权限 

 5. 在服务配置文件中引入设置

    vim svnserve.conf  #加入如下代码    

[general]
auth-access = write  #授权用户访问仓库的权限。值有3个:none  read write  ,write代表可读可写
anon-access = read  #匿名用户只读
password-db = passwd  #使用的密码文件
authz-db = authz     #使用的授权文件
realm = /home/svn/tp5    #仓库根目录

   6. 启动配置好的SVN服务

        svnserve -d -r /home/svn  # -d 以守护进程启动   -r 仓库目录

二、svn客户端使用(win10)

  1. 下载客户端工具tortoiseSVN  https://tortoisesvn.net/downloads.html

  2.  从仓库检出代码

  3.  编写核心代码并更新到仓库

三、linux上svn常用命令

  1. svn checkout svn://xxx  或 svn  co  svn://xxx

  2. svn add filename  #往版本库添加新的文件

  3. svn commit -m “提交描述信息“ [-N] [--no-unlock] file1 file2 简写 svn ci   #将改动的文件提交到版本库

  4. svn lock -m “lock test file“ test.php  #加锁

  5. svn unlock test.php  #解锁

  6. svn delete path -m “delete test fle” 简写 svn rm

  7. svn status -v path  #path是项目工作根目录 

  8. svn log path   #查看项目的日志

  9. svn info filename  #查看文件详细信息

  10. svn diff filename  #将修改的文件和基础版比较差异

  11. svn diff -r m:n filename  # 比较文件在m版和n版的差异

  12 . svn list path  简写 svn ls  #列出path目录下所有属于版本库的文件和目录

三、创建钩子脚本使web目录项目与仓库代码同步   

  1. 在web目录下检出项目

  svn checkout svn://localhost/tp5  #回车后要输入linux用户密码,svn用户名和密码

  2. 在svn仓库下,hooks目录下创建钩子脚本

  cd /home/svn/tp5j/hooks

  cp post-commit.temp  post-commit  

  chmod 775 post-commit

  vim post-commit  #加入如下代码:

#!/bin/sh
export LANG=en_US.UTF8    #设置文件导出的编码方式
SVN=/usr/bin/svn          #svn命令的路径
WEB=/usr/local/nginx/www/tp5    #项目路径
$SVN update $WEB --username xiaobao --password 1234  #执行更新操作

  并注释掉原来文件中的代码。这样每次提交代码到仓库后,web目录下的项目会自动执行更新操作

Linux上搭建SVN服务的更多相关文章

  1. linux上搭建svn

    参照网址:http://www.cnblogs.com/LusYoHo/p/6056377.html(如何在linux下搭建svn服务)                http://www.cnblo ...

  2. Linux环境搭建SVN服务

    一.准备工作 首先要保证自己的linux电脑能上外网,我这电脑因为是新的,没有配置网络,所以再这块花费了点时间. 1.检查ip信息 >ifconfig 2.检查DNS服务器 >cat  / ...

  3. 如何在linux下搭建svn服务

    • 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看sv ...

  4. Linux下搭建svn服务端

    安装 使用yum安装非常简单: yum -y install subversion (压缩包安装比这麻烦的多) Tortoise本是window下客户端工具,但也可以建仓库,作为服务端.Linux只有 ...

  5. JAVAEE——宜立方商城07:Linux上搭建Solr服务、数据库导入索引库、搜索功能的实现

    1. 学习计划 1.Solr服务搭建 2.Solrj使用测试 3.把数据库中的数据导入索引库 4.搜索功能的实现 2. Solr服务搭建 2.1. Solr的环境 Solr是java开发. 需要安装j ...

  6. 在Linux上安装SVN服务

    1.安装SVNyum install subversion 2.查看版本svnserve --version3.创建目录mkdir -p /web/svndata3.创建repo测试库svnadmin ...

  7. Linux上搭建svn资源库

    一.安装 centos上安装 使用命令svn  --version查看是否安装过svn: 如果出现  bash: svn: command not found  则显示没有安装 可以使用 yum in ...

  8. 在linux上搭建SVN服务器并自动更新至WEB目录

    1.仓库放在 /var/svn/ 目录下,并且仓库名为 project 2.创建用户组user,该组下添加两个成员user1.user2,密码直接用用户名,两用户可以checkout代码和提交代码 3 ...

  9. linux 上搭建sftp服务

    原文链接:https://www.cnblogs.com/yanduanduan/p/9046723.html sftp和ftp的区别 FTP是一种文件传输协议,一般是为了方便数据共享的.包括一个FT ...

随机推荐

  1. 1.Vue前端核心分析

    1.Vue SoC:关注点分离原则 网络通信:axios 页面跳转:vue-router 页面管理:vuex Vue-UI:ICE.ElementUI 集大成者:MVVM+虚拟DOM 2.MVVM 异 ...

  2. requests--发送请求

    前戏 使用python做接口自动化,必须用到requests这个库,功能非常的强大,能满足我们大部分的需求. 官网:https://2.python-requests.org//zh_CN/lates ...

  3. Linux性能优化实战学习笔记:第三十二讲

    一.上节总结 专栏更新至今,四大基础模块的第三个模块——文件系统和磁盘 I/O 篇,我们就已经学完了.很开心你还没有掉队,仍然在积极学习思考和实践操作,并且热情地留言与讨论. 今天是性能优化的第四期. ...

  4. [LeetCode] 834. Sum of Distances in Tree 树中距离之和

    An undirected, connected tree with N nodes labelled 0...N-1 and N-1 edges are given. The ith edge co ...

  5. 热情组——项目冲刺 Day5

    项目相关 作业相关 具体描述 班级 班级链接 作业要求 链接地址 团队名称 热情组 作业目标 实现软件制作,以及在福大的传播 Github链接 链接地址 SCRUM部分: 成员昵称 昨日目标 开始时间 ...

  6. 基于Django的Rest Framework框架的序列化组件

    本文目录 一 Django自带序列化组件 二 rest-framework序列化之Serializer 三 rest-framework序列化之ModelSerializer 四 生成hypermed ...

  7. pyqt助手中安装Qt帮助文档

    一.个人安装环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 4.通过Anaco ...

  8. Oracle Hint用法整理笔记

    目录 1./+ result_cache / 2./+ connect_by_filtering / 3./+ no_unnset / 4./+ index(表别名 索引名) / 5./+ INDEX ...

  9. Spring Security简介与入门Demo

    1:Spring Security简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配 ...

  10. sql server锁表、查询被锁表、解锁被锁表的相关语句

    MSSQL(SQL Server)在我的印象中很容易锁表,大致原因就是你在一个窗口中执行的DML语句没有提交,然后又打开了一个窗口对相同的表进行CRUD操作,这样就会导致锁表.锁表是一种保持数据一致性 ...