版权声明:本文为博主原创文章。转载请注明出处。 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. C++【stack/queue】用法和例子

    Stack的常用基本操作: s.push() // 压栈 s.emplace() // 插入,相当于push(目前掌握的唯一区别是emplace可以自行调用构造函数,push不行) s.empty() ...

  2. List--使用List作为堆栈和队列

    1,List作为堆栈 堆栈“先进后出”.对此,可以使用append和pop来操作数据. 不指定下标时,pop会先操作最后一个数据. 例如: 2,队列 队列“先进先出”.当然也可以使用append和po ...

  3. dump与load

    dump与load 简化了dumps与loads

  4. jQuery3动画+创建元素

    一.jQuery的动画 1.jQuery自带的动画 1>变化的是width height opacity display <!DOCTYPE html> <html lang= ...

  5. php循环语句(一)

    PHP 循环语句 什么是循环语句? 在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句.一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件.循环结构是在一定 ...

  6. spring cloud深入学习(七)-----配置中心git示例

    随着线上项目变的日益庞大,每个项目都散落着各种配置文件,如果采用分布式的开发模式,需要的配置文件随着服务增加而不断增多.某一个基础服务信息变更,都会引起一系列的更新和重启,运维苦不堪言也容易出错.配置 ...

  7. PHP中的符号 ->、=> 和 :: 的含义(用法)

    php新手经常碰到的问题,->.=> 和 :: 这三个家伙是什么分别都是做什么的啊!看着就很晕. 没关系,下面我们做一下详细的解释,如果你有C++,Perl基础,你会发现这些家伙和他们里面 ...

  8. PAT甲级——A1035 Password

    To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem ...

  9. 左神算法书籍《程序员代码面试指南》——1_08构造数组的MaxTree

    [题目] 将一个没有重复数字的数组中的数据构造一个二叉树 每个节点都是该子树的最大值 [要求] 时间复杂度为O(N)[题解] 使用单调栈,栈的顺序是维持从大到小排序 通过使用单调栈,将数组中中所有数的 ...

  10. mybatis学习:mybatis的注解开发CRUD操作

    Dao层: public interface IUserDao { /** * 查询所有结果 * @return */ @Select("select * from user") ...