从刚刚参加工作就开始使用svn,清晰的记得那年师姐比较生气的来找我:“你怎么又不更新就提交代码了,把我写的都给覆盖掉了”,哈哈~

  虽然一直在用svn,不过在日常工作中主要用到的是简单的操作,而且大多数是基于eclipse插件、客户端小乌龟直接操作的。对于svn的理解还是比较单一的。当然目前除了集中式版本管理工具svn之外,比较火的还有分布式的版本管理工具git。

  下面借着学习svnkit的机会,把svn也学习一遍,加深了解~

  官网简单介绍:

    官网:http://subversion.apache.org/

    所属机构:Apache开源组织。

    特性:集中式版本管理工具。

    开发:svn本身是使用c语言开发的。

    版本:目前最高的是1.9版本,1.10版本还在开发中,在即将到来的2017年可能会发布。

    版本支持:官方对于1.7和更老的版本不予以支持,1.8版本予以部分支持,1.9版本予以完全支持。

    相关性:客户端工具TortoiseSVN、IDE插件(Eclipse、Netbeans、IntelliJ IDEA等)、java实现svnkit

  接下来我们照着官方的例子做一个简单的入门:1.创建仓库  2.将工程交由版本库控制  3.重新检出工程

  官网示例链接:http://svnbook.red-bean.com/nightly/en/svn.intro.quickstart.html

  准备工作:下载一个VisualSVN Server(和Subversion一样是一个服务端管理的软件),这里我随便在百度下了一个:VisualSVN Server 3.5.6

  已知信息:①.VisualSVN Server安装目录:E:\VisualSVN\Repositories,使用VisualSVN新建或从其他目录导入repository,均会在此目录下创建repository。

       ②.工程目录(projectA):E:\SVN\workProejcts\projectA

  需求:假定我们有一个工程:projectA,现在想使用我们刚刚建立的仓库来管理projectA。

  SVN官方比较期望我们工程的目录结构如下,当然我们也可以不按照这个目录结构来:

  project - branches

         - tags

         - trunk - 项目文件A

             - 项目文件B

  对于这三个目录,官方没有给出明确的用法,大家可以根据习惯使用,如:

  trunk:开发主目录,主线。

  branches:分支开发目录。

  tags:只读打包目录。

  好了扯远了,回归主题~我们姑且按照官方的标准来。

  使用svn命令行操作:

  1.在VisualSVN Server目录下创建一个仓库:svnadmin create E:\SVN\svnRepositories\myRepository

  执行后,cd进去ls一下,如下图:

  

  使用VisualSVN Server查看此仓库URL(SVN Repository URL):https://wangdaye-PC/svn/myRepository/

  2.将工程交由版本库控制:svn import 项目目录 SVN Repository URL -m "提交日志信息"

  svn import E:\SVN\workProejcts\projectA https://wangdaye-PC/svn/myRepository/ -m "initial import"

  我们可能会遇到没有权限的问题:

  

  没关系,使用VisualSVN Server添加一个用户,并为此仓库添加用户的访问权限即可:

  

  权限操作成功后,再次执行命令,操作成功:

  

  至此,我们发现本地磁盘中的projectA实际并未收到仓库的版本控制!因为我们在projectA的目录下并未看到.svn的隐藏文件。怎么办呢?

  3.检出工程:svn checkout SVN仓库URL 任意本地磁盘工作目录

  svn checkout https://wangdaye-PC/svn/myRepository/trunk E:\SVN\svnWorkSpace\projectA

  

  至此,我们执行成功了,查看磁盘目录,受到版本控制了,我们第二步导入的projectA可以删掉了。

  

  OK,大功告成~

  

 

SVN学习——简单入门之创建仓库、导入、检出(一)的更多相关文章

  1. Django学习系列3:创建仓库

    在创建仓库之前,在项目superlists中新建一个Python文件,命名为functional_tests.py,里面的内容如下: # File: functional_test.py # Auth ...

  2. 【Git/GitHub学习笔记】基本操作——创建仓库,本地、远程同步等

    近日想分享一些文件,但是用度盘又太麻烦了(速度也很恶心).所以突发奇想去研究了下GitHub的仓库,这篇文章也就是一个最最最基础的基本操作.基本实现了可以在GitHub上存储文本信息与代码. 由于我的 ...

  3. github入门之创建仓库--3

    1.登陆到github,点击加号中的New repository 2.设置仓库信息 *注: ------Description:添加仓库说明,不是必填项 ------Public.Private:选择 ...

  4. MacOS SVN简单入门

    背景:MacOS内置了SVN的客户端和服务器端的软件,下边所使用到的目录需要结合自己电脑的具体情况进行设置,并不是很困难. MacOS SVN简单入门 第一部分,创建本地的SVN测试仓库,并修改相应的 ...

  5. 版本管理工具SVN学习(一):简单的SVN命令,兼对比Git

    新公司用SVN来管理代码,而且公司自己搭建了SVN服务器,所以要学习下SVN的相关命令.服务器搭建等技能知识.上家公司是用Git管理代码,而且代码托管在git@oschina上,自然不用操心Git服务 ...

  6. svn学习总结

    安装svn subversion服务参考博客http://huihai.iteye.com/blog/1985238 一:svn版本管理的作用 a:备份程序   项目开发过程中,防止不可控因素造成的资 ...

  7. SVN学习---使用 Visual SVN 搭建SVN服务器

    1.1. 使用 Visual SVN 搭建SVN服务器 搭建纯粹SVN服务器 --- svn:// 访问资源 将SVN 和 Apache服务器整合 ,搭建web SVN服务器 ----  https: ...

  8. SVN无法检出项目

    情况说明: SVN的管理员给我一个项目的检出权限,我用浏览器可以访问,TortoiseSVN无法检出,提示没有访问URL的权限,不能检出. SVN管理员交流别人可以使用,我用同事的电脑,使用我的账号检 ...

  9. svn学习笔记(1)入门学习----安装及创建运行仓库

    学习及使用svn有一段时间了,但是以前学习的时候不怎么用,现在用只是简单的更新上传,又把基本理论忘了.为了以后自己看自己的笔记回忆,特此记录 svn学习博客:http://www.cnblogs.co ...

随机推荐

  1. 【算法笔记】B1026 程序运行时间

    1026 程序运行时间 (15 分) 要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗 ...

  2. P4578 [FJOI2018]所罗门王的宝藏

    传送门 考虑一个位置答案传递性,如果某个位置的红宝石转动确定了,那么会引起连锁反应: 如图,绿色的转动确定了,那么那两个蓝色的转动也确定了 自己手玩一下,发现如果有解那么随便找一个开始然后一路玩下去最 ...

  3. Action执行时间过滤器

    public class AccessStatisticsAttribute : ActionFilterAttribute { /// <summary> /// log4net 日志 ...

  4. 1141 PAT Ranking of Institutions (25 分)

    After each PAT, the PAT Center will announce the ranking of institutions based on their students' pe ...

  5. Filezilla 错误

    一般来说,只要网站能访问,FTP就应该能连接的,之前好长一段时间一直遇到连接不上香港主机的问题,还以为是宽带出口线路不好,原来是自己学识浅薄,在同事的指点下才明白所以然,下面总结一下FTP连接中的常见 ...

  6. SpringBoot 精简笔记

    0. Fundamental a. @SpringBootApplication //启动类 b. pom.xml //Maven基本依赖 <parent> <groupId> ...

  7. 安装配置flutter环境

    flutter 的中文文档 https://flutterchina.club/get-started/install/ github 地址 https://github.com/flutter/fl ...

  8. 转 C# Split方法

    String.Split 方法有6个重载函数: 1) public string[] Split(params char[] separator) 2) public string[] Split(c ...

  9. jackson工具类有动态属性过虑功能

    在业务应用中经常会有指定属性序列化json的需求,C#中这个功能很容易就可以解决:使用lambda重新构造一下匿名对象就可以了.一行代码搞定.java是这样解决的. public JsonMapper ...

  10. (转)在 Windows 上调优 DB2 数据库的八个简单步骤

    原文:https://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1209tunedb2/index.html 概述 为了更好地 ...