1.svn的基本概念在这里就不详述了,下一代的CVS。
2.基本命令
(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
3 版本管理
(1):svn的版本号是一类数字,也可以用特定的关键字表示版本
HEAD :版本最新的版本号
BASE:工作拷贝中一个条目的修订版本号
COMMITTED:项目最近修改的修订版本,与BASE相同或更早
PREV:commit之前的一个版本
比如你想看最新版本的修改
svn log -r HEAD,此时HEAD就会被解释为最新的版本号
(2)用时间查找版本号
svn log -r {2011-04-01}:{2011-04-22}
4 分支与合并
在一个工程目录里都有一个主干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
将主干部分更新代码合并到你的分支上。
posted on 2011-04-26 13:45
kuramawzw 阅读(3990)
评论(2) 编辑 收藏 引用 所属分类:
Linux