SVN 冲突演练

1、张三 修改了 people.h 添加了address属性 并提交服务器


9AD106D1-B89E-488C-811D-AF1505600F21.png

2、李四不知道张三修改了people.h 类 然后添加了phone属性 并提交服务器 这时会发生冲突

E396810C-D30A-4262-9AEF-E37ED3367E2E.png

3、更新服务器代码 会提示冲突位置

9340E546-D34F-45F7-B68F-A72A678D2B9C.png

4、 conflict 冲突 后面是冲突位置


SVN 冲突演练_第1张图片
E4B1C891-4DB5-4927-9786-555A432519E8.png

5、 输入 tc 时 使用服务器代码覆盖本地代码

7E8943B0-29B0-4D36-AF38-0D26645081A0.png

6、当李四再次打开 people.h 时 会发现 只要address属性 没有自己创建的phone属性

3CBBDEED-D436-4ADA-AA63-ABA2BF0D9267.png

SVN 冲突演练_第2张图片
ACBDAC5D-4B6E-4A0C-97CB-80827665B8BC.png

7、如果当时输入的是 mc 就会使用自己的代码 覆盖服务器的代码 最后 张三打开 people.h 时会发现 自己创建address 属性不存在 而有phone 属性
当 使用 mc 时会先 覆盖本地代码 如果想更新服务器的 话 需要重新 commit -m"" 提交
图片举例是 sex 属性

SVN 冲突演练_第3张图片
E0D723B5-E8C4-4A49-9704-0805B96853E2.png

8、当李四又在 people.h 下创建了phone 属性 并提交服务器 然后张三也在 people.h 添加了height 属性 当张三准备提交服务器时 先 更新本地代码 时 会出错 如下:

C0229330-E3EA-4A7A-8A3B-FC7E0ABF2A2D.png

9、当张三选择 p 时 本地服务器 会出现 如下图:

B29412E4-8D8C-4886-A4C8-637FCAFA1753.png

会多出三个文件 .mine 自己的
.r10 服务器版本10的 没有李四phone 属性的
r11 服务器版本11的 有李四phone 属性的

SVN 冲突演练_第4张图片
74171467-9A1A-4D2E-9DB3-A3F6DCA82BDC.png

10、 现在的 people.h 如图

SVN 冲突演练_第5张图片
EE8A5184-D92D-4D70-8904-E1E99EA561D9.png

11、说明如下

SVN 冲突演练_第6张图片
74B5BF9E-77FA-423D-87E9-4A2091BF1BB4.png

12、删掉不需要的文件 保留需要的文件 如图

SVN 冲突演练_第7张图片
99CA7255-F11F-4088-A71F-D273BE802122.png

13、用svn 删除 生成的那三个文件
输入 svn resolves people, h 回车

SVN 冲突演练_第8张图片
B833AF6E-BFCA-4DC5-8361-7670BD1E6CF7.png

此时的本地仓库 那三个文件 就删除了

SVN 冲突演练_第9张图片
F21BF6A3-33C5-4579-A34A-B0534DB7B525.png

14、最后提交服务器

SVN 冲突演练_第10张图片
702EB083-8D73-4231-8FC6-7E0002BDE5EE.png

15、查看历史版本 输入 svn log

SVN 冲突演练_第11张图片
7AEA40D2-B7BD-4664-9972-28B9D5F49C30.png

16、版本回退 输入 svn update -r n (n回退到哪个版本)
只是本地仓库的回退 , 服务器的还是当前版本

  • 方法一 本地版本回退后,在本地新建个属性或随便增加或修改一下,然后update 就会产生冲突 ,选择mc 就会将服务器的代码替换
    成本地代码 ,然后提交就行了
0BE8708E-F082-42D4-AB15-C51194DCF275.png

添加了一个新的属性 然后update

SVN 冲突演练_第12张图片
9C379E55-6357-46C7-8EC2-CC9E5B9217F5.png

产生冲突 选择mc 然后commit 提交到服务器


SVN 冲突演练_第13张图片
C0595CE1-147A-4C55-9374-40A1ABCE5B05.png
  • 方法二
    merge合并11哪个版本到6哪个版本的 哪个文件person.h
    svn merge -r 11:6 person.h
E8D39D4A-7B56-40C6-A75D-C962E8FEDCF8.png

然后提交到服务器 commit - m "回退到版本6"

SVN 冲突演练_第14张图片
9158EEEA-F6FE-42A6-AB55-44BC4620B78B.png

你可能感兴趣的:(SVN 冲突演练)