环境: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. 每天一道Rust-LeetCode(2019-06-11)

    每天一道Rust-LeetCode(2019-06-02) Z 字形变换 坚持每天一道题,刷题学习Rust. 题目描述 全排列 II 给定一个可包含重复数字的序列,返回所有不重复的全排列. 示例: 输 ...

  2. js toFixed() 四舍五入后并不是你期望的结果

    小学的时候学数学就知道有一种叫四舍五入的计算方式,就是对于小数位数的取舍,逢五进一,比如1.225 取两位小数后就是1.23.在前端开发中自己也少不了这样的计算,js也提供了相关的方法--toFixe ...

  3. A1070 Mooncake (25 分)

    一.参考代码 #include<cstdio> #include<algorithm> #include<iostream> using namespace std ...

  4. [LeetCode] 924. Minimize Malware Spread 最大程度上减少恶意软件的传播

    In a network of nodes, each node i is directly connected to another node j if and only if graph[i][j ...

  5. [LeetCode] 491. Increasing Subsequences 递增子序列

    Given an integer array, your task is to find all the different possible increasing subsequences of t ...

  6. [LeetCode] 281. Zigzag Iterator 之字形迭代器

    Given two 1d vectors, implement an iterator to return their elements alternately. Example: Input: v1 ...

  7. loj 6051 「雅礼集训 2017 Day11」PATH - 多项式 - 钩子公式

    题目传送门 传送门 设 $m = \sum_{i = 1}^{n} a_i$. 总方案数显然等于 $\frac{m!}{\prod_{i = 1}^{n} a_i!}$. 考虑这样一个网格图,第 $i ...

  8. 表单只有一项 input 时按回车键会提交表单

    在 Vue 中 使用 Element UI,使用表单  el-form 只有一个  el-input  项,使用  @keyup.enter.native 来处理回车事件. 结果发现按下回车时页面总会 ...

  9. Python-读取文件内容

    读取文件中的内容: with open('data.txt','r') as f: data_list = f.readlines()#每一行是一个字符串 data_list = [i.strip(' ...

  10. 基于word2vec的文档向量模型的应用

    基于word2vec的文档向量模型的应用 word2vec的原理以及训练过程具体细节就不介绍了,推荐两篇文档:<word2vec parameter learning explained> ...