关于svn merge部分的详细说明---带详图

svn merge部分总是在用的时候要搜资料,于是特意把这一部分弄出来,以备以后使用

为了做实验,要下载subversion,安装服务器,和TortoiseSVN客户端
subversion下载地址 http://subversion.apache.org/
下载下来之后如下的包
[img]http://dl.iteye.com/upload/attachment/0078/9185/17448848-5f14-3731-a0e2-2b7edf0369ff.png[/img]

安装
[img]http://dl.iteye.com/upload/attachment/0078/9189/94a8d33d-5d73-39a4-b0a1-42d2181bb68f.png[/img]

成功后在命令下看
[img]http://dl.iteye.com/upload/attachment/0078/9231/b1f60a48-9d50-34ca-8db4-7c1fa6cadad8.png[/img]

创建仓库
目录 E:\svn\repository
[img]http://dl.iteye.com/upload/attachment/0078/9233/4b08831c-6a95-3b8d-9f00-4596a1c9db73.png[/img]

于是在目录 E:\svn\repository下可以看到如下的目录结构
[img]http://dl.iteye.com/upload/attachment/0078/9237/fabf64b1-d581-365d-8560-d73964b0105b.png[/img]

我们安装进入subversion的安装目录可以看到如下的结构
安装目录:C:\Program Files\Subversion
[img]http://dl.iteye.com/upload/attachment/0078/9239/fd8de8ce-0af7-322a-ad98-46b98e3d14c7.png[/img]
其中bin里边就是subversion的所有命令

[img]http://dl.iteye.com/upload/attachment/0078/9241/0d44bcd4-8755-35a2-a810-f7e78c1aad3f.png[/img]

建一个库,并弄出一个branch和trunk,这两个最好是不一样的,然后我们才可以做以下的例子,不然也不用merge了,我做的库如下图所示


[img]http://dl.iteye.com/upload/attachment/0078/9253/08654396-b64d-3fa9-8f69-9845139497a4.png[/img]


[img]http://dl.iteye.com/upload/attachment/0078/9255/15d3941c-c5ee-39b1-b6cb-ea1fb5c35ecd.png[/img]

然后再随便找一个目录把其中睥一个branch或着trunk拉下来,我这里建了一个目录

C:\Documents and Settings\alecyan\桌面\test\abc

并把branch的代码拉了下来,下面我们开始做merge的一些例子

首先进入我们建好的目录中
进入C:\Documents and Settings\alecyan\桌面\test\abc
点空白处


[img]http://dl.iteye.com/upload/attachment/0078/9195/e3d409c6-9b9a-395f-ba5e-9e65f016ca8a.png[/img]

开始merge
merge有三个选项,很多人对这个三个选项有点迷糊,我们这里就针对这三个选项进行详细的说明

第一个选项

这里是这个意思,这里可以把trunk的某个版本或着某个版本到某个版本的一个范围都可以merge到本地

[img]http://dl.iteye.com/upload/attachment/0078/9197/f075a9a3-b09f-3ded-b557-519908c6c733.png[/img]

点下一步后

[img]http://dl.iteye.com/upload/attachment/0078/9199/8c806e8f-3c1c-3bb2-8bb7-5bedf9a4c245.png[/img]

下一步

[img]http://dl.iteye.com/upload/attachment/0078/9201/b002a928-a9ca-3589-9375-b416debf9d6b.png[/img]

下一步

[img]http://dl.iteye.com/upload/attachment/0078/9203/e926db00-993d-386b-b2c2-4bd510b982a7.png[/img]

在这个时候,可以先点一下test看看会出现什么情况,这个对我们的本地文件没有影响的


[img]http://dl.iteye.com/upload/attachment/0078/9205/652e0cf6-75d1-3413-b1c3-5da1468dfe42.png[/img]

测试的时候可以发现文件有冲突

然后点merge

[img]http://dl.iteye.com/upload/attachment/0078/9207/c4743c16-9428-3f73-929b-03feeae02da8.png[/img]
这里点resove all later就是merge之后一个文件一个文件的解决冲突

[img]http://dl.iteye.com/upload/attachment/0078/9209/115b3269-7431-37f9-922b-2a378ac573cb.png[/img]
开始解决冲突

[img]http://dl.iteye.com/upload/attachment/0078/9211/41f6ddf7-3a1c-31c9-85d6-607de59f7ea1.png[/img]

默认的解决冲突的工具,这个东西很好用,用一下就熟悉了


[img]http://dl.iteye.com/upload/attachment/0078/9213/dafa6e90-3a09-3854-b43d-46ef387925e2.png[/img]
可以看到我们的本地多了很多文件
解决完冲突之后,点那个三角,意思是resoved已解决


[img]http://dl.iteye.com/upload/attachment/0078/9215/5b368f1d-186a-3f3d-86aa-f99d5b223fcd.png[/img]


[img]http://dl.iteye.com/upload/attachment/0078/9217/21e1c509-c5ae-3e7a-9e8f-3a0555778331.png[/img]


第一选项完成
开始第二选项
第一个选项的意思 就是把某一个主动或着分支的某个版本merge到本地

[img]http://dl.iteye.com/upload/attachment/0078/9219/1621998f-5d02-3b35-9b6a-2ea00a84b80a.png[/img]


[img]http://dl.iteye.com/upload/attachment/0078/9295/8033ef65-2409-3dbd-957f-2236fe097e7c.png[/img]

下面的一些流程和第一选项基本一样

这里要注意,这个说明,如果选了这个选项,那么我们本地的文件必须不能有变化,要和版本库上一样才行
不然会如图所示
[img]http://dl.iteye.com/upload/attachment/0078/9221/8cd17786-b27a-3022-b4bc-4263e5001cf4.png[/img]

我们重新更新代码 ,继续


[img]http://dl.iteye.com/upload/attachment/0078/9223/2feeed95-5a2c-3ca9-a994-22cdeef420b5.png[/img]

下面的操作就和第一选项一样了

我们说说第在个选项

第三个选是说可以merge不同的版本树到本地


[img]http://dl.iteye.com/upload/attachment/0078/9227/afbbf930-61c4-3b3d-8a0f-ab2bee2cb2eb.png[/img]


[img]http://dl.iteye.com/upload/attachment/0078/9229/f19c7001-105e-3be9-843a-702045395704.png[/img]
再往下面就又和第一个第二个一样了

好了,三个选项都说明完了,以后,要是有点陌生的话,可以再看看这里就能马上想起来,心中有数就不会操作的时候犹犹豫豫的了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值