版权声明:本文为博主原创文章。转载请注明出处。 https://blog.csdn.net/Jerome_s/article/details/27950055

Subversion(简称svn)安装
subversion软件下载安装
http://subversion.tigris.org

我们使用版本号Setup-Subversion-1.6.5.msi

我的网盘下载地址:http://www.kuaipan.cn/file/id_98175943000078380.htm?source=1

双击安装Setup-Subversion-1.6.5.msi

命令模式:
Subversion 组件
 server组件 (管理员使用)  server端命令

 svnadmin:用来调整和修正svn档案库的工具

 svnserve:一个独立的server程序, 能够作为server行程运行, 或是被 SSH 启动; 还有一个让你的档案库在网络上可供其他人存取的方法.

 client组件(用户使用) client命令

 svn:命令行client程序。这是用来管理数据的主要工具。

SVNserver端经常使用操作

验证svn安装是否成功:svnadmin –-version。

创建svn的数据仓库:svnadmin create C:\repository\svn\hqu (\repository\svn必须存在);

配置文件说明:C:\repository\svn\hqu\conf

svn 仓库权限配置

svnserve.conf 定义全部认证和授权政策

passwd 存放项目成员帐户信息

authz 主要是做复杂的群组权限控制

DB文件夹:存放数据的(二进制)

启动svn服务:svnserve -d -r C:\repository\svn\hqu   [单仓库]
启动svn服务:svnserve -d -r C:\repository\svn  [多仓库]
验证svn启动是否成功:
svn默认port是3690,新建一个控制台,netstat –an 看到3690;
将第一个控制台关闭,svn就关闭了在第二个控制台netstat –an 没看到3690;
说明服务启动成功;
说明:
svnserver启动 cmd命令行启动:

svnserve -d –r 文档仓库路径
-d 后台运行 

-r 版本号库的根文件夹

SVNclient经常使用操作

以下举例:

新建一个zhangshan的client:
新建文件夹 C:\client\zhangshan
控制台进入该文件夹
第一次使用 checkout:
前面启动的是单仓库:svn checkout svn://127.0.0.1 . (后面.表示取来放到当前文件夹)
svnserver还没东西。所以没下载东西,zhangshan文件夹下隐藏文件.svn。是建立两port联系的。

.svn这个隐藏文件夹记录着两项关键的信息: 工作文件的基准版本号和一个本地副本最后更新的时间戳。千万不要手工改动或删除这个 .svn隐藏文件夹和里面的文件!

!! 否则将会导致你本地的工作拷贝 (静态视图)被破坏,无法再进行操作。

将服务端改成多仓库svnserve -d -r C:\repository\svn
client使用svn checkout svn://127.0.0.1/hqu .
总结:clientcheckout:svn checkout svn://ip:port/repName .
zhangshan開始工作。下班直接提交就能够

1. 自己新建的类a.java,不是checkout下来的要先纳入版本号控制:svn add a.java
2. 认证授权:在server端改动配置文件授权,在C:\repository\svn\hqu\con\ svnserve.conf第十二行改动为:anon-access = write (匿名用户写的权限);实际开发不这样做。这里实验能够;
3. 提交:svn commit –m “zhangshan init a.java” a.java
这样就能够下班回家了~

总结:
client提交文件:svn commit -m "message" fileName
将文件纳入版本号控制:svn add fileName

新建一个lisi的client:
新建文件夹 C:\client\lisi
控制台进入该文件夹
第一次使用 checkout:
svn checkout svn://127.0.0.1/hqu .
下载了最新版本号:

李四开发了一个b.java 
纳入版本号控制:svn add b.java 
提交:svn commit –m “lisi init b.java ” b.java

下次张山来上班,张山李四都已经和server联系起来了:
checkout仅仅做一次。这次张山仅仅要update就能够了
控制台进入zhangshan文件夹运行:svn update 就能够更新全部最新版本号了;
总结:
client更新文件:svn update [fileName]
client删除文件:svn delete fileName
client恢复文件:svn revert fileName  注意:仅仅能恢复未提交的文件
client提交:svn commit –m “xxxx”

svn经常使用命令
svn checkout -从版本号库取出一个工作拷贝 
svn commit -将改动的文件提交到版本号库
svn update -更新你的工作拷贝 
svn add-向版本号库中加入新文件
svn delete-从版本号库中删除文件

svn revert-取消全部的本地编辑

Subversion文件夹规范

创建三个顶级文件夹

/trunk 存放开发的“主线”

/branches 存放支线副本

/tags 存放标签副本

将SVN服务注冊到windows系统服务中

svnserver端的窗体不小心关闭了,服务就停止了,
注冊win系统服务:(用管理员身份运行cmd)
sc create SVN-Service binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r C:\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip

创建成功:在计算机服务里面能够看到SVN-Service;

能够删除一个服务: sc delete SVN_Service

SVN经常使用操作的更多相关文章

  1. svn执行update操作后出现:Error : Previous operation has not finished; run 'cleanup' if it was interrupted.

    svn执行update操作后出现:      Error : Previous operation has not finished; run 'cleanup' if it was interrup ...

  2. 转:svn命令行操作

    原文:http://zhumeng8337797.blog.163.com/blog/static/10076891420115218821912/SVN命令行 -- ::| 分类: CVS |字号 ...

  3. SVN分支/合并操作小记

    一.前言 说来惭愧,鄙人从事开发多年,使用svn已经好几个年头了,但是却仅限于update.commit.compare之类的操作,最近想到github上学习别人写的NIO源码,顺便去熟悉git的使用 ...

  4. SVN 的一些操作

    SVN是一个非常好的代码管理工具. 之前一直是使用现有的SVN环境,认为非常方便. 可是近期要自己搭建一个SVN环境来托管自己的代码,并且代码放在独立的server上,所以决定自己搭建一个SVN环境. ...

  5. svn基本常见操作设置

    代码管理工具一开始用的确会有点懵,但是永久了就会发现都是那几下套路,记录下来 托管好了代码一般起冲突了还是想重新搞一下,有个万能的重置操作,那就是重新关联svn项目,以前有时更换地址也是,发现遇到很多 ...

  6. 代码管理工具:Git 和 Svn 的简单操作

    1. git 先注册git config --global user.name "name" git config --global user.email "email& ...

  7. 转:Tortoise SVN 版本控制常用操作知识

    转自:http://www.cnblogs.com/csharp4/archive/2010/11/26/1889317.html 今天老大跑过来问我如何把SVN服务器上的当前版本回退到某一个版本上去 ...

  8. 配置管理SVN软件具体操作

    配置管理(SVN) CM:configuration management  配置管理人员 什么是SVN SVN --Subversion --是一个开放源代码的版本控制系统 --时下流行的有SVN和 ...

  9. svn使用&&常用操作&&问题处理

    第一部分: SVN使用 svn介绍 即subversion的简称. 版本控制系统(CVS)包括集中式版本控制系统(CVCS)和分布式版本控制系统(DCVS).svn是集中式版本控制系统. 可以用于团队 ...

随机推荐

  1. js如何往数组Array中添加元素 (2013-09-04 10

    unshift:将参数添加到原数组开头,并返回数组的长度 pop:删除原数组最后一项,并返回删除元素的值:如果数组为空则返回undefined push:将参数添加到原数组末尾,并返回数组的长度 co ...

  2. 重装一次CM的坑爹记录

    今天同事要对测试环境进行降级(测试高于生产所以要求降级),自己不经常搞运维,但是无奈测试环境没运维管理只能自己上了. 流程和遇到问题按数字表示. 1.重装CM(clouder manager)这个过程 ...

  3. springboot思维导图

  4. 2019-8-31-dotnet-启动-JIT-多核心编译提升启动性能

    title author date CreateTime categories dotnet 启动 JIT 多核心编译提升启动性能 lindexi 2019-08-31 16:55:58 +0800 ...

  5. Linux 修改环境变量,重定向

    1.Linux下更改(当前用户)环境变量:在terminal下输入vim ~/.profile进入后,在最后一行添加PATH="-----------------:$PATH",添 ...

  6. $cordovaNetwork 使用

    1 .安装插件 直接安装: cordova plugin add cordova-plugin-network-information 下载到本地安装: https://github.com/apac ...

  7. 一条sql获取每个类别最新的一条记录

    1.初始化数据 create table Products ( id ,), name ), categroy int, addtime datetime , ) insert into Produc ...

  8. 【转】 解释下浏览器是如何判断元素是否匹配某个 CSS 选择器?

    先产生一个元素集合,然后从后往前判断: 浏览器先产生一个元素集合,这个集合往往由最后一个部分的索引产生(如果没有索引就是所有元素的集合).然后向上匹配,如果不符合上一个部分,就把元素从集合中删除,直到 ...

  9. PAT甲级——A1032 Sharing

    To store English words, one method is to use linked lists and store a word letter by letter. To save ...

  10. fastjson循环引用 问题@ManyToOne @OneToOne返回数据中"$ref"问题

    返回数据为 这样前端就无法获取正确数据(至少是不改变代码,不增加代码量的情况下) 所以还是改返回值比较好 根据查阅 https://blog.csdn.net/qq_38487524/article/ ...