svn使用教程(Mac、Linux)
2016-12-30 15:35
190 查看
1. 基础知识
1) 版本库布局
版本库一般的布局结构为trunk(主干)、branches(分支)、tags(标签)。i. trunk主干
trunk就是开发的主线,一般项目都是导入到主线来开发的。ii. branches分支
branches一般是trunk某个版本的拷贝,如果你想在某一段时间单独对某个功能进行开发,而不像和其它功能混在一起,这时候branches是一个很好用的方式。你不会想在trunk里一直开发这个功能,不提交,直到开发完成吧。一般也会合并的trunk中的。iii. tags标签
tags是啥?标签,顾名思义,就是某个版本的记录啦,就好像看一本厚厚的,看到哪一页了,做个记号,方便以后查阅。迭代开发时,在某个版本发布应用,为了做个记录,这时候打个tag很实用。发布后,线上出现了一个bug,可以根据这个tag进行修复再发版本。
2. 使用
理解了主干、分支、标签的作用,下面说下svn的使用。我在项目中常用的功能一般是checkout、commit、update、分支管理、标签管理、版本回退。checkout
代码检出比较简单,执行以下命令,$project_name表示项目名称:svn co svn://.../path $project_name
有时想检出某个历史版本,$version标识版本号:
svn co svn://.../path@$version $project_name
commit
提交代码都会用,不多说:svn ci -m "更新说明"
有时只想提交某个文件:
svn ci path_to_file -m "更新说明"
update
工作中尽量多的update,执行命令svn update
分支
增加分支增加一个分支,实际上就是把trunk复制到branches目录下,起一个特定的名字,表示该分支的作用;
svn copy svn://../trunk/project svn://../branches/project_buy -m "添加购买功能分支"
之后就可以在该分支上单独开发购买功能了,不会影响trunk的正常开发喽。
合并分支
购买分支上的功能开发完毕了,要合并到trunk中;
合并到trunk需要在trunk的分支下操作;
svn merge -r r1:r2 svn://../branches/project_buy ./
r1:r2表示从版本记录r1和r2之间的变化合并到当前工作目录中。
然后提交
svn ci -m "合并购买功能到主干"
删除分支
有时不需要某些分支了,删掉
svn delete svn://../branches/project_buy -m "删除购买功能到主干"
标签
标签创建svn copy svn://../trunk/project svn://../tags/project_tag1 -m "创建标签1"
标签删除
svn rm svn://../tags/project_tag1 -m "删除标签1"
版本回退
版本回退这个功能很实用,开发过程中难免思路问题,回退代码。- 没有提交的代码回退
svn revert svn://../path_to_file
- 已提交代码回退
svn merge -r r2:r1 svn://../path_to_file merge_file
好面熟啊,这个怎么跟分支合并差不多尼。本质上是一样的啦。r2:r1从高版本到低版本可不就是回退了嘛。从低版本到高版本增加记录,就是添加喽。
其它一些基础命令
记录查看log查看版本历史记录
svn log | more
按n进行下翻,按q退出
查看版本历史记录,并看修改了哪些文件
svn log -v | more
查看文件变化diff
本地文件和版本库的变化
svn diff path_to_file | more
版本库版本的变化
svn diff -c r svn://../path_to_file | more
3. 结束语
掌握常用的这几个svn命令足以对付大部分日常工作了,理解之后,日常svn的操作并不需要工具的。相关文章推荐
- Linux下SVN命令简明使用教程
- Mac下搭建svn服务器教程(终端与 Xcode的使用)
- 【工具使用】linux和mac下命令行使用svn
- Linux下SVN客户端使用教程
- Linux 安装JDK Tomcat MySQL的教程(使用Mac远程访问)
- svn使用教程-windows和Linux下常用操作总结
- Mac下的SVN客户端工具Cornerstone使用教程
- Mac下的SVN客户端工具Cornerstone使用教程
- linux下,svn使用教程
- GoAgent_Linux Linux/Mac OSX系统使用教程
- Linux下SVN客户端使用教程(全)
- LINUX下 svn服务器快速搭建与使用--小白教程
- linux下SVN客户端使用教程
- 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类
- MAC上SVN的使用(看到很多不会配置SVN的 如下是详细教程)
- svn使用教程-windows和Linux下常用操作总结
- Mac下搭建svn服务器教程(终端与 Xcode的使用)
- Linux下SVN客户端使用教程(全)
- svn使用教程-windows和Linux下常用操作总结-ghost1236
- svn在linux下的使用(svn命令)