svn - 基础知识和创建仓库
2013-11-05 14:38
387 查看
一、基础知识
1、版本号(svn此是以仓库号为标识的,修改一个文件就会提升一个版本)
2 、标签(一组文件或目录的好听的别名,可以通过这个别名checkout)
3、主干和分支(trunk和branch)
分支:就是主干的一个拷贝,只是分支在subversion中拷贝得更有效率。
“延迟拷贝“,指的是首先拷贝的是原主干的链接,当文件修改时才会记录为相对原文件的修改。
4、合并
在分支上的修改可以合并到其他分支或者主干上去。
5、加锁策略
1) 严格锁 : 只能读。如果想改,需要版本管理系统的支持
2) 乐观锁 : 都能读写。但是它不会接收自从上次checkout后被更新的文件。它会叫你首先更新本地的文件,当然svn不会覆盖你的代码,而是尝试合并,如果发现没有冲突,就会先将你的代码更新(把非你修改的部分导入你的本地代码),然后只提交你改动的部分。反之,更新后的源码会出现警告,需要手工解决冲突。
二、命令行创建仓库
1、遇到的问题
- 直接在硬盘上新建一个目录 E:/repositories/sesame/trunk
- 使用 svn import -m "message" . file:///E:/repositories/sesame/trunk将当前目录下的所有文件和目录导入仓库
报错:
svn: E180001: Unable to connect to a repository at URL 'file:///E:/repositories/sesame/trunk'
svn: E180001: Unable to open an ra_local session to URL
svn: E180001: Unable to open repository 'file:///E:/repositories/sesame/trunk'
解决方法:
- 不能直接用这样的方式新建目录。而是要用
创建一个仓库。然后将导入的文件或者目录通过上述命令导入版本库中。理由很简单,如果仓库不交由svn管理,不可能完成svn的功能。
将A目录下面的文件和子目录导入仓库sesame的trunk目录:
其中A目录结构如下
A -
|- B
|- helloworld.txt
sesame是虚拟目录,在e:/svn-repos中是没有的。
1、版本号(svn此是以仓库号为标识的,修改一个文件就会提升一个版本)
2 、标签(一组文件或目录的好听的别名,可以通过这个别名checkout)
3、主干和分支(trunk和branch)
分支:就是主干的一个拷贝,只是分支在subversion中拷贝得更有效率。
“延迟拷贝“,指的是首先拷贝的是原主干的链接,当文件修改时才会记录为相对原文件的修改。
4、合并
在分支上的修改可以合并到其他分支或者主干上去。
5、加锁策略
1) 严格锁 : 只能读。如果想改,需要版本管理系统的支持
2) 乐观锁 : 都能读写。但是它不会接收自从上次checkout后被更新的文件。它会叫你首先更新本地的文件,当然svn不会覆盖你的代码,而是尝试合并,如果发现没有冲突,就会先将你的代码更新(把非你修改的部分导入你的本地代码),然后只提交你改动的部分。反之,更新后的源码会出现警告,需要手工解决冲突。
二、命令行创建仓库
1、遇到的问题
- 直接在硬盘上新建一个目录 E:/repositories/sesame/trunk
- 使用 svn import -m "message" . file:///E:/repositories/sesame/trunk将当前目录下的所有文件和目录导入仓库
报错:
svn: E180001: Unable to connect to a repository at URL 'file:///E:/repositories/sesame/trunk'
svn: E180001: Unable to open an ra_local session to URL
svn: E180001: Unable to open repository 'file:///E:/repositories/sesame/trunk'
解决方法:
- 不能直接用这样的方式新建目录。而是要用
svnadmin create E:/repositories
创建一个仓库。然后将导入的文件或者目录通过上述命令导入版本库中。理由很简单,如果仓库不交由svn管理,不可能完成svn的功能。
将A目录下面的文件和子目录导入仓库sesame的trunk目录:
E:\A>svn import -m "helloworld text" . file:///e:/svn-repos/sesame/trunk Adding B Adding helloworld.txt Committed revision 1.
其中A目录结构如下
A -
|- B
|- helloworld.txt
sesame是虚拟目录,在e:/svn-repos中是没有的。
相关文章推荐
- 数据仓库基础知识(二)- 多维数据模型
- maven基础知识02---坐标和仓库
- OC中的基础知识点、类和类方法的创建、调用 以及对象
- 小娜老师的讲义-Docker基础知识-仓库
- 创建自定义 AngularJS 指令:Part I 指令基础知识
- [SVN]创建本地的SVN仓库
- 基础篇小结:来看源码吧~巩固之前的知识,顺便看看创建方块物品之类基本操作的具体做法
- windows下创建svn仓库
- SVN学习——简单入门之创建仓库、导入、检出(一)
- 10_Linux基础知识及命令――――创建和删除文本文件
- HTML5基础28----创建对象仓库
- 多线程基础知识第一篇:创建线程的方式及线程常用的方法
- Linux 系统操作 SVN 仓库基础
- CocoaPods私有仓库的创建与使用(svn服务器)
- SQL Sever基础知识---创建数据库
- 精通HADOOP(十) - MAPREDUCE任务的基础知识 - 创建客户化的Mapper和Reducer
- Ajax基础知识整理---创建一个XMLHttpRequest对象
- svn基础知识一
- java基础知识之工具类的创建
- 来了解一下Mysql索引的相关知识:基础概念、性能影响、索引类型、创建原则、注意事项