SVN培训文档

Subversion 是一个开源的版本管理系统,它可以实现代码的有效管理和控制。它采用原理是copy-modify-merge 思想。

基本概念:

版本库(repository): 是subversion 的核心,用于数据的存放,它运行于服务器端。

工作副本(working copies ): 运行于客户端。用户从版本库check out 的东西都放在这里。

版本库中还有三个子目录,分别是trunk,branches,tags.

Trunk: 是我们开发的主线,用于存放将要发布的版本代码。

Branches: 是主版本的分支,用于存放还在编写的代码,也就是还有debug 的代码。它存在为了避免频繁的修改主线,使主线中的程序处在不稳定状态,也就是说主线trunk 中的程序应该是基本没什么大问题可以运行的程序。Branches 作用就是存放还在调试过程中的程序,braches 是可以处于不稳定状态,一段时间后,再将branches 中的程序归并到trunk 中。

Tags: 是用于创建时间快照,只能读取不能修改。

总结:

Trunk 是开发的主线代码,存放能运行的正确的代码; 序员如果开发新的程序或bug 的修改,一般先放入branches 中,待代码确认无误再提交到trunk. 中。Tags 可看做主线代码的快照。

Svn 中常用到的命令

首先,要创建版本库,命令svnadmin create + 版本库路径,命令执行后会在服务器端创建相应的版本库。

下一步,选择你将要进行版本管理的文件夹(mytree ),命令svn import+mytree+ 服务器版本库路径,命令执行后这个文件夹中的文件加入到了服务器端的版本库中,然后将mytree 删除,接着再建一个新的文件夹,这个文件夹就是你以后的工作副本空间。在这个目录下用svn check out+ 服务器版本库路径。命令执行后你会发现mytree 的文件和文件夹又出现在工作副本空间中,如果装了TortoiseSVN ,工作副本空间中的文件和文件夹都会被打上绿色的对勾,,这时工作副本就已经建好。

Svn update:

用来更新你的工作副本的命令。当你最后一次从版本库中更新你的工作副本后,其他与你同在一个项目中的开发人员将他们做的东西放入版本库中,这时你的工作副本比版本库中的版本就过时了,也就是有差异了,所以在你工作之前先用命令svn status 来查看改变的信息,如果你的工作空间过时了,就要用svn update 来更新自己的工作副本。

在工作副本中的命令:

Svn add 将新文件或文件夹加入到版本库。

Svn delete 将某个文件或文件夹从版本库中删除。

Svn copy 为某个文件或文件夹建立一个副本,这个副本也会被版本库管理。

Svn move 文件或文件夹移动命令。相当于windows 中的剪切命令。

Svn mkdir 为工作副本中添加目录。

检查工作副本的状态的命令

Svn status 列出工作副本中你所有需要参照的信息。

Svn diff 查看工作副本空间被改变的详细信息。

Svn revert 撤销工作副本的变化。

Svn resolve 当自己解决了冲突后,用它通知svn 冲突已经解决。

Svn log 显示日期,作者信息和每个版本改变的那个路径。

Svn cat

冲突发生的原因:

有两个程序员A,B 。A 先check out 一个最新的工作副本到A 的工作副本空间,这时A 修改其工作副本的readme.txt 文件,同时B 也check out 了一个副本也对readme.txt 进行修改,并在A 之前先commit 到版本库中,当A 在commit 时,冲突就发生了。

解决冲突的方法:

人工手动解决冲突,进行交流解决冲突。

注意:

得到冲突后要做的三件事:

1.    手工解决冲突。

2.    Copy one of the temporary files on top of your working file.

3.    Run svn revert<filename>to throw away all of your local changes.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值