版权声明:本文为博主原创文章。转载请注明出处。 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. .net 设置默认首页

    解决方案一:设置默认首页 在 Web.config 文件中,加上红色字体间的内容 <configuration> <system.web> <compilation de ...

  2. lc13 Roman to Integer

    lc13 Roman to Integer 遇到那六种特殊情况分别-2,-20,-200, 按照罗马数字的规则,每种只可能出现一次.所以只需要考虑一次,用indexOf()即可判断是否出现这几种特殊情 ...

  3. Django项目:CRM(客户关系管理系统)--85--75PerfectCRM实现CRM扩展权限

    # sales_urls.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.conf.urls import url from bpm. ...

  4. charles for https

    To remotely capture http or https traffic with charles you will need to do the following: HOST - Mac ...

  5. 我是如何在实际项目中解决MySQL性能问题

    可能是本性不愿随众的原因,我对于程序员面试中动辄就是考察并发上千万级别的QPS向来嗤之以鼻,好像国内的应用都是那么多用户量一样,其实并发达到千万,百万以上的应用能有几个? 绝大多数的程序员面临的只是解 ...

  6. 爬虫(四)Selenium + Headless Chrome爬取Bing图片搜索结果

    Bing图片搜索结果是动态加载的,如果我们直接用requests去访问页面爬取数据,那我们只能拿到很少的图片.所以我们使用Selenium + Headless Chrome来爬取搜索结果.在开始前, ...

  7. anaconda安装使用

    Conda是一个开源的包.环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换 下载:https://mirrors.tuna.tsinghua.edu.cn/a ...

  8. i\'ll make a man out of you

    Let's get down to business To defeat the Huns Did they send me daughters When I asked for sons? You' ...

  9. Leetcode401Binary Watch二进制手表

    二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59). 每个 LED 代表一个 0 或 1,最低位在右侧. 给定一个非负整数 n 代表当前 LED 亮着 ...

  10. 初识OpenSSL

    首先来认识一下SSL和TLS SSL:Secure Sockets Layer 安全套接层协议 由Netscape公司在1994年发布: TLS:Transport Layer Security 传输 ...