SVN学习——简单入门之创建仓库、导入、检出(一)
从刚刚参加工作就开始使用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学习——简单入门之创建仓库、导入、检出(一)的更多相关文章
- Django学习系列3:创建仓库
在创建仓库之前,在项目superlists中新建一个Python文件,命名为functional_tests.py,里面的内容如下: # File: functional_test.py # Auth ...
- 【Git/GitHub学习笔记】基本操作——创建仓库,本地、远程同步等
近日想分享一些文件,但是用度盘又太麻烦了(速度也很恶心).所以突发奇想去研究了下GitHub的仓库,这篇文章也就是一个最最最基础的基本操作.基本实现了可以在GitHub上存储文本信息与代码. 由于我的 ...
- github入门之创建仓库--3
1.登陆到github,点击加号中的New repository 2.设置仓库信息 *注: ------Description:添加仓库说明,不是必填项 ------Public.Private:选择 ...
- MacOS SVN简单入门
背景:MacOS内置了SVN的客户端和服务器端的软件,下边所使用到的目录需要结合自己电脑的具体情况进行设置,并不是很困难. MacOS SVN简单入门 第一部分,创建本地的SVN测试仓库,并修改相应的 ...
- 版本管理工具SVN学习(一):简单的SVN命令,兼对比Git
新公司用SVN来管理代码,而且公司自己搭建了SVN服务器,所以要学习下SVN的相关命令.服务器搭建等技能知识.上家公司是用Git管理代码,而且代码托管在git@oschina上,自然不用操心Git服务 ...
- svn学习总结
安装svn subversion服务参考博客http://huihai.iteye.com/blog/1985238 一:svn版本管理的作用 a:备份程序 项目开发过程中,防止不可控因素造成的资 ...
- SVN学习---使用 Visual SVN 搭建SVN服务器
1.1. 使用 Visual SVN 搭建SVN服务器 搭建纯粹SVN服务器 --- svn:// 访问资源 将SVN 和 Apache服务器整合 ,搭建web SVN服务器 ---- https: ...
- SVN无法检出项目
情况说明: SVN的管理员给我一个项目的检出权限,我用浏览器可以访问,TortoiseSVN无法检出,提示没有访问URL的权限,不能检出. SVN管理员交流别人可以使用,我用同事的电脑,使用我的账号检 ...
- svn学习笔记(1)入门学习----安装及创建运行仓库
学习及使用svn有一段时间了,但是以前学习的时候不怎么用,现在用只是简单的更新上传,又把基本理论忘了.为了以后自己看自己的笔记回忆,特此记录 svn学习博客:http://www.cnblogs.co ...
随机推荐
- C++_异常3-异常机制throw try catch
下面介绍如何使用异常机制来处理错误. C++异常是对程序运行过程中发生的异常情况的一种响应. 异常提供了将控制权从程序的一部分传递到另一部分的途径. 对异常的处理有3个组成部分: 1)引发异常 -- ...
- HDU - 1285-确定比赛名次(拓扑排序+优先队列)
有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道 ...
- linux下的常见信号总结
在linux下有很多信号,按可靠性分为可靠信号和非可靠信号,按时间分为实时信号和非实时信号,linux进程也有三种方式来处理收到的信号: (1)忽略信号,即对信号不做任何处理,其中,有两个信号不能忽略 ...
- selenium 安装与环境配置
selenium的安装 环境配置:python2.7+selenium2+Firefox46以下版本 本次安装环境:python2.7.13+selenium2.53.6+Firefox46 官网下载 ...
- Rancher2.0 外置存储卷
一,环境准备 01,基础环境 一台rancher集群 服务器搭建参考原先文章 >>飞机直达 一台nfs服务器 02,nfs服务器搭建 rpm -qa rpcbind|grep rpcbin ...
- (转)Shell中read的用法详解
Shell中read的用法详解 原文:http://blog.csdn.net/jerry_1126/article/details/77406500 read的常用用法如下: read -[pstn ...
- nyoj 325——zb的生日——————【dp】
zb的生日 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么 ...
- Unity 基础
Unity 基础是unity入门的关键.他将讲解Unity的界面, 菜单项,使用资源,创设场景,并发布版本. 当你读完这段,你将理解unity是怎么工作的,如何有效地使用它,并且完成一个基本的游戏. ...
- python学习(三)--跟着例子写的贴吧网页爬取
from urllib import requestimport urllib #爬贴吧网页文件到本地.首先在本地打开百度贴吧 搜索 java吧#第一页的内容是:http://tieba.baidu. ...
- js之正则表达式基础
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦, ...