Linux下svn的使用

来源:互联网 发布:法国啄木鸟 知乎 编辑:程序博客网 时间:2024/05/19 04:50

1、基本命令

(1)查找帮助  svn help

查看的帮助svn help import,在这里有详细的import命令的用法。

(2)svn import

将一个工程加入到svn中,eg

svn import  testproject   [url | file path]

注:testproject为工程目录路径

(3)svn co [url | path] : 从svn中checkout代码

(4)svn add foo

将foo添加入工程,若foo为目录,所有文件都将加入,若只想加入目录本身,svn add foo –non-recursive

svn delete foo

同add相反

svn move foo foo1  改名(类似linux的mv)

svn  mkdir blort:创建一个目录

(5) 检查修改

svn status:检察你的修改了那些文件

svn diff:列出每个文件的修改明细

生成patchfile

svn diff > pathfile

同具体的版本的进行diff

svn diff -r 3

比较具体两个版本号的diff

svn diff -r 2:3

(6)更新代码及解决冲突

svn up  或者svn update

(7)提交修改

svn commit

(8) 检查历史

svn log

(9)浏览版本库

svn list

svn cat

2、版本管理

(1):svn的版本号是一类数字,也可以用特定的关键字表示版本

HEAD :版本最新的版本号

BASE:工作拷贝中一个条目的修订版本号

COMMITTED:项目最近修改的修订版本,与BASE相同或更早

PREV:commit之前的一个版本

比如你想看最新版本的修改

svn log -r HEAD,此时HEAD就会被解释为最新的版本号

(2)用时间查找版本号

svn log -r {2011-04-01}:{2011-04-22}

3、分支与合并

在一个工程目录里都有一个主干trunk目录和一个分支branches目录。

当一个项目很大,有多个人协作开发时,如果大家都在主干目录开发时容易造成混乱。当你一个人开发一个功能模块时,而开发周期可能比较长才能完成该功能,此时你不能将未完成的代码提交到主干,容易造成混乱。此时你可开一个分支,然后在你这个分支目录下工作。

(1)创建分支

svn copy [url]  [url]

eg:svn copy http://svn.example.com/repos/calc/trunk http:://svn.example.com/repos/cal/branches/my-calc-branch

此时并不真得弄一个复本,只是一个链接,称为廉价复价。

这个时候你就可以从你的分支目录check out代码,并进行工作了

svn co http:://svn.example.com/repos/cal/branches/my-calc-branch.

(2)在分支上工作,

可以svn commit,此时并不影响主干。

(3)合并分支:

当你开发周期较长时,而此时主干代码已经发生更交,若时间过长,很可能你的支支与主干脱节,此时要将主干更新的代码合并到你的分支上。

svn merge url

例如:svn merge http://svn.example.com/repos/calc/trunk

将主干部分更新代码合并到你的分支上。

原创粉丝点击