环境: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. [POJ3107]Godfather

    题目描述 Description Last years Chicago was full of gangster fights and strange murders. The chief of th ...

  2. [转]细说OpenSessionInView问题

    转载:https://www.cnblogs.com/zjrodger/p/4615809.html. [环境参数] 环境:SSH框架 [问题描述]  NoSession问题 HibernateTem ...

  3. TextView实现文字水平滚动效果

    有时候我们使用TextView显示文本,只想把所有内容用一行显示出来,但是一行又显示不完,就需要让文本实现水平滚动的效果. 具体实现方法如下: 1,实现自定义TextView并实现isFocused( ...

  4. windows 排查javaWeb程序占用CPU过高问题(可追踪到问题代码所在行)

      1.情景展示 java虚拟机占用这么高的CPU,肯定不正常! 2.原因分析 第一个是tomcat,正在运行java项目: 第二个是eclipse,因为eclipse的运行依赖于java. 现在的问 ...

  5. 代码移植的福音 namespace_alias

    命名空间别名 允许程序员定义命名空间的另一个名字 它们常用作长的或嵌套过深的命名空间的简便使用方式. 我们也可以将用在代码移植上,而无需修改源代码的文件所定义的命名空间, 为后面升级merge代码创造 ...

  6. 大话设计模式Python实现-代理模式

    代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = ...

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

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

  8. Turbo码基本框架

    1. 基本原理 1.1 定义 1.2 分量码设计 2. 编码方法 2.1 交织器的设计 2.2 分量编码器 2.3 删余矩阵及复用 3. 译码方法和算法 3.1 迭代译码 3.2 MAP类算法 3.3 ...

  9. 搭建RocketMQ集群

    一.环境及准备 集群环境: 软件版本: 部署前操作: 关闭防火墙,关闭selinux(生产环境按需关闭或打开) 同步服务器时间,选择公网ntpd服务器或者自建ntpd服务器 [root@es1 ~]# ...

  10. Prometheus PromSQL 常用资源

    Prometheus PromSQL 常用资源 PromSQL 使用 运算乘:*除:/加:+减:- 函数 sum() 函数:求出找到所有value的值 irate() 函数:统计平均速率 by (标签 ...