关闭

svn基本使用

标签: svnsvn编辑冲突
226人阅读 评论(0) 收藏 举报
分类:

1.svn的下载地址http://subversion.apache.org/packages.html


服务端

(1)Setup-Subversion需要自己注册windows服务,通过更改配置文件来控制用户权限

(2)VisualSVN-Server图形化界面管理,集成了subversion和apache,安装后就已经注册为windows服务。

客户端

(1)TortoiseSVN客户端工具,用于提交代码,更新

总结

一般客户端选择使用TortoiseSVN,服务端选择使用VisualSVN-Server

2.VisualSVN-Serve安装时的截图


Repositories代表服务端仓库的位置,其余安装过程基本简单


3.打开安装好的svn服务端,通过右键-新建,分别创建用户,和仓库,对新创建好的firstRepository,可以右键-Properties,设置仓库访问权限




4.svn客户端的使用:

在桌面新建个文件夹,在文件夹内执行svn-check out,检出,地址从服务端仓库右键,copy url to clipboard获得,这样就将项目检出到本地




5.svn add,添加到版本库管理

svn commit提交

svn update更新服务器最新代码到本地

svn show log显示文件的历史记录,可以选择回退的版本号

若要删除test.txt文件,有2种方式

(1)svn delete,然后svn commit,

(2)直接用操作系统的delete删除,在svn commit的时候,勾选上那个test.txt文件

更新文件的名字,svn rename,然后要执行svn commit

6解决冲突

冲突产生的原因在于服务器提交了最新的代码,且与本地的有冲突,当然最新代码是别人提交的,用户aaa和用户bbb本地trunk目录下,test.text文件都是最新版本,内容如图


用户bbb更改提交到服务器,更改后的代码如下,服务器版本加1


用户aaa本地更改后如下


用户aaa再次更新时,则会冲突,多出3个文件


mime是用户aaa本地的,r2是上次更新到本地的,r3则是服务器最新的,也是用户bbb最新提交的

打开test.txt文件内容如下


<<<<<<<和>>>>>>>之间是冲突的部分,看用户aaa如何取舍了,最后还是需要svn commit

(1)如果想直接用服务器最新的代码,则直接svn resert即可

(2)如果需要更改冲突,则执行右键,Edit conficts,如下图所示,左侧是服务器最新,右侧是本地,最下面是修改冲突后,你希望保留的最终结果,可以在冲突区域,右键选择调整,待最下面的区域调整好后,点最上面的红色矩形框里的按钮即可,点完mark as resolved之后,多出的3个文件就消失了。然后就可以提交了。当然提交之前可以自己在做修改

(3)如果对冲突很熟悉,可以直接右键test.txt,然后选择resolve,然后3个文件就会消失,自己在test.txt中更改内容,提交就行了


7.从分支合并到主干

新建分支:右键trunk,Branch/tag,填好分支名,这样分支建好后,也就拥有了trunk上的文件


新创建的分支branches1,需要svn update之后才能显示,在新建的分支下添加一个branches1.txt文件,并提交到分支branches1



将branches1合并到trunk,在trunk上右键,执行merge





8(1)branches只是trunk的copy,版本号会统一递增,即以仓库名称来计算版本号

(2)eclipse下若用户a和用户b在同一个类下面各自增加了一个不同的方法,则svn会进行智能合并,不会产生冲突

(3)branches里假设有从trunk里copy的test.txt文件,若将其删除后,在新增一个内容一样的test.txt文件,则这不是同一个了,回合到主干上会产生冲突



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3178次
    • 积分:146
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类