一、SVN 简介

(1) SVN 是 Subversion 的缩写,是一个开源的版本控制系统
(2) SVN 基于 C/S 架构,有一台中央服务器,多台客户端通过网络从中央服务器拉取或提交代码,以此达到多人协作开发
(3) SVN 是集中式的开源版本控制系统,集中式核心在于中央服务器,开发者需要先从服务器上拉取/提交代码,一旦离开了服务器,基本无法工作,这是缺点之一
(4) SVN 客户端需要通过网络从中央服务器拉取或提交代码,特别依赖网络,因此一旦网络出现问题,也就无法拉取或提交代码,这也是缺点之一

二、SVN 服务端安装

[root@localhost ~]$ yum install -y subversion    # 安装SVN
[root@localhost ~]$ mkdir -p /data/svn           # 我们使用/data/svn目录作为版本库,先创建该目录
[root@localhost ~]$ svnadmin create /data/svn # 创建版本库,使得客户端能够从这里拉取/提交代码
[root@localhost ~]$ ll /data/svn
total 24
drwxr-xr-x 2 root root 4096 Jan 18 22:53 conf # SVN服务端配置文件目录
drwxr-sr-x 6 root root 4096 Jan 18 22:53 db # SVN版本数据存储目录
-r--r--r-- 1 root root 2 Jan 18 22:53 format # 存储一个整数的文件,此整数代表库层次结构版本
drwxr-xr-x 2 root root 4096 Jan 18 22:53 hooks # 存放版本库钩子的目录
drwxr-xr-x 2 root root 4096 Jan 18 22:53 locks # 存储库锁目录,用来跟踪库的访问者
-rw-r--r-- 1 root root 229 Jan 18 22:53 README.txt # 说明文件
[root@localhost ~]$ ll /data/svn/conf
total 12
-rw-r--r-- 1 root root 1080 Jan 18 22:53 authz # SVN用户权限配置文件
-rw-r--r-- 1 root root 309 Jan 18 22:53 passwd # 密码文件,用于客户端登录服务端时的用户名密码验证
-rw-r--r-- 1 root root 3090 Jan 18 22:53 svnserve.conf # SVN版本库的配置文件
[root@localhost ~]$ vim /data/svn/conf/authz    # 用户权限配置文件
[groups]
db = user1, user2 # groups 用于定义用户组,把功能相同的用户分成一个组,以便管理
web = user3, user4 [/] # 定义为哪个目录进行权限分配,/表示当前版本库目录,这里我刚开始写成/data/svn ,后面实验的时候报错了svn: E170001: Authorization failed
user1 = rw # 可以对单个用户进行权限分配,rw表示可读可写
@web = rw # 可以对某个组的用户进行权限分配,写法是:@组名
* = r # 表示对剩下的所有用户进行权限分配
[root@localhost ~]$ cat /data/svn/conf/passwd    # 配置用户密码
[users]
user1 = jiDTUlneBGSQEad5
user2 = tz0ETMlNjPEILhqK
user3 = vsXJ6pn0FxWRqZg6
user4 = rz7Hq7ZuAb5LvfVS
[root@localhost ~]$ cat /data/svn/conf/svnserve.conf    # 配置版本库
[general] # 通用配置
anon-access = none # 表示匿名用户没有任何权限
auth-access = write # 表示通过认证的用户拥有写的权限
password-db = passwd # 指定用户密码文件的路径,这里是相对路径
authz-db = authz # 指定用户权限配置文件的路径,这里是相对路径
realm = /data/svn # 表示上面的配置对哪个svn目录生效
[root@localhost ~]$ svnserve -d -r /data/svn    # 启动SVN服务端,-d 表示以daemon形式运行,-r 用于指定svn版本库目录的路径

三、Linux 客户端使用 SVN

[root@localhost ~]$ yum install -y subversion     # 安装SVN,以便使用svn这个命令
[root@localhost ~]$ svn checkout svn://139.199.177.89 --username=user1     # 第一次使用要检出代码,并指定使用哪个认证用户
[root@localhost ~]$ touch 1.txt # 创建一个文件做实验
[root@localhost ~]$ svn add 1.txt # 添加到版本控制中心
[root@localhost ~]$ svn commit -m 'add file' 1.txt # 提交到版本库
[root@localhost ~]$ svn delete 1.txt # 如果想要删除版本库中的文件,需要先通过delete删除本地文件
[root@localhost ~]$ svn commit -m 'delete file' # 再提交到版本库
[root@localhost ~]$ svn update # 从版本库更新文件到本地
[root@localhost ~]$ svn log # 查看变更日志

四、Windows 客户端使用 SVN

(1) Windows 上的操作基本与 Linux 上的操作一致
(2) 先去官网 https://tortoisesvn.net/index.zh.html 下载 TortoiseSVN ( 一个客户端软件 ) 并安装
(3) 如何检出文件:创建一个目录,右键点击 SVN Checkout 检出服务端代码到这个目录
(4) 如何上传文件:创建一个文件 ---> SVN Add ---> SVN Commit
(4) 如何删除文件:选中这个文件,右键点击 SVN Delete ---> SVN Commit

SVN 快速入门的更多相关文章

  1. SVN快速入门(TSVN)

    作者: 北京群英汇信息技术有限公司 网址: http://www.ossxp.com/ 版本: 0.1-35 日期: 2011-07-05 10:51:59 版权信息: 目录 1   安装Tortoi ...

  2. SVN快速入门笔记【转】

    1. SVN版本控制软件目的 协作开发 远程开发 版本回退 2. 什么是SVN subVersion 支持平台操作 支持版本回退 3. 获取SVN软件 属于C/S结构软件(客户端与服务端) serve ...

  3. SVN 快速入门!

    输入账户密码即可!

  4. GitHub新手快速入门日常操作流程

    GitHub新手快速入门日常操作流程 1. 注册帐号 打开https://github.com/,填写注册信息并提交. 2. 登录帐号 打开https://github.com/login,输入注册的 ...

  5. 快速入门系列--MVC--07与HTML5移动开发的结合

    现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码可以兼容不同的物理终端设备和浏览器,极大的提高了 ...

  6. Github快速入门手册

    最近在试用Github,开源的思想也让人觉得把一些经验分享出来是非常好的事情.附件是doc文件,如有需要请注意查收.希望能对你有帮助. GITHUB基于互联网的版本控制快速入门手册 如有不妥,欢迎指正 ...

  7. 【云计算】Dockerfile、镜像、容器快速入门

    Dockerfile.镜像.容器快速入门 1.1.Dockerfile书写示例 Dockerfile可以用来生成Docker镜像,它明确的定义了Image的生成过程.虽然直接修改容器也可以提交生成镜像 ...

  8. Git快速入门和常用命令

    一.快速入门 本地初始化一个项目 首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中. git config --global us ...

  9. .NET Core实战项目之CMS 第四章 入门篇-Git的快速入门及实战演练

    写在前面 上篇文章我带着大家通过分析了一遍ASP.NET Core的源码了解了它的启动过程,然后又带着大家熟悉了一遍配置文件的加载方式,最后引出了依赖注入以及控制反转的概念!如果大家把前面几张都理解了 ...

随机推荐

  1. Check which .NET Framework version is installed

    his article will help you to know which .NET Framework version is installed from command line. Check ...

  2. Ubuntu下qemu环境搭建

    在查找资料过程中,发现自己搭建虚拟的arm环境的话,有一个比较好的软件就是qemu了,当然还有其他的,大家各投所好就好. 接下来说一下qemu环境搭建过程. 其实搭建很简单,作为小白,我还是捣鼓了两三 ...

  3. (转)OpenGL ES编程入门资源集合

     出自:http://blog.csdn.net/u013467442/article/details/44498125     OpenGL ES 2.0中文手册:http://www.dreami ...

  4. Dynamics CRM 2015/2016 Web API:聚合查询

    各位小伙伴们,今天是博主2016年发的第一篇文章.首先祝大家新年快乐.工资Double,哈哈.今天我们来看一个比較重要的Feature--使用Web API运行FetchXML查询! 对的,各位.你们 ...

  5. aspose.word 使用简单方法

    aspose.word使用简单方法 概念介绍 使用aspose生成word报表步骤: 加载word模板 提供数据源 填充 加载模板 提供了4种重载方法 1 2 3 4 5 public Documen ...

  6. 转载:手把手教你做iOS推送

    手把手教你做iOS推送 http://www.cocoachina.com/industry/20130321/5862.html

  7. python2除法保留小数部分

    转载:http://www.cnblogs.com/yhleng/p/9223944.html 1.python2和python3除法的最大区别: python2: print 500/1000 py ...

  8. Windows7下安装cpu版的Tensorflow

    windows7下安装python3.5 1.下载python-3.5.2-amd64.whl https://www.python.org/downloads/release/python-352/ ...

  9. hive 1.2 配置

    参考链接 http://www.cnblogs.com/yjmyzz/p/how-to-install-hive-1-2-0-on-mac.html

  10. vue的iview列表table render函数设置DOM属性值的方法

    { title: '负责人社保照片', key: 'leaderIdNumber', render: (h, params) => { return h('img',{domProps:{ sr ...