环境: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. python 环境搭建 python-3.4.4

    第一步:下载和安装python-3.4.4amd.msi 可以去官方网站下载,也可以从网盘下载: 链接:https://pan.baidu.com/s/1dZ9ibgigKPdPUJgykLA_jg ...

  2. windows上MongoDB远程访问配置

    今天用另一台机器上的MongoDB,但是使用本地连接时,没问题 换成IP地址时,出现 解决的方法,修改配置文件 systemLog: destination: file path: d:/Mongod ...

  3. Qt Quick 常用元素:TabView(选项卡) 与 Slider(滑块)

    一.TabView TabView 可以实现类似 Windows 任务管理器的界面,有人叫 TabView 为标签控件,有人又称之为选项卡控件,我们知道它就是这么个东西就行了.现在来介绍 TabVie ...

  4. pyqt pyinstaller使用说明

    一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 python2.7使用 ...

  5. Kettle提高表输出写入速度(每秒万条记录)

    重点: ETL 优化多数在于表输入和表输出. 转自: https://blog.csdn.net/qq_37124304 https://blog.csdn.net/qq_37124304/artic ...

  6. laravel学习:主从读写分离配置的实现

    本篇文章给大家带来的内容是关于laravel学习:主从读写分离配置的实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在DB的连接工厂中找到以下代码.../vendor/larav ...

  7. POJ 3132 DP+素数筛

    Sum of Different Primes Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 3684   Accepted ...

  8. fastclick作用

    fastclick 是具有消除移动端浏览器上的点击事件的 300ms 的延迟的作用. 注意几点 1.PC端无效 2.Android 上的 Chrome 32+ 浏览器,如果在 viewport met ...

  9. Deep Learning专栏--FFM+Recurrent Entity Network的端到端方案

    很久没有写总结了,这篇博客仅作为最近的一些尝试内容,记录一些心得.FFM的优势是可以处理高维稀疏样本的特征组合,已经在无数的CTR预估比赛和工业界中广泛应用,此外,其也可以与Deep Networks ...

  10. 关于NB-IoT,没有比这篇更通俗易懂的啦!

    来源:内容来自「鲜枣课堂」,谢谢. 大家好,我是小枣君. 今天,我是来“吹NB”的.嗯,标题已经剧透了,这个NB,就是NB-IoT. 在过去的一年多,NB-IoT真的可以说是大红大紫.在通信圈里,除了 ...