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 冲突 后面是冲突位置
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
ACBDAC5D-4B6E-4A0C-97CB-80827665B8BC.png
7、如果当时输入的是 mc 就会使用自己的代码 覆盖服务器的代码 最后 张三打开 people.h 时会发现 自己创建address 属性不存在 而有phone 属性
当 使用 mc 时会先 覆盖本地代码 如果想更新服务器的 话 需要重新 commit -m"" 提交
图片举例是 sex 属性
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 属性的
74171467-9A1A-4D2E-9DB3-A3F6DCA82BDC.png
10、 现在的 people.h 如图
EE8A5184-D92D-4D70-8904-E1E99EA561D9.png
11、说明如下
74B5BF9E-77FA-423D-87E9-4A2091BF1BB4.png
12、删掉不需要的文件 保留需要的文件 如图
99CA7255-F11F-4088-A71F-D273BE802122.png
13、用svn 删除 生成的那三个文件
输入 svn resolves people, h 回车
B833AF6E-BFCA-4DC5-8361-7670BD1E6CF7.png
此时的本地仓库 那三个文件 就删除了
F21BF6A3-33C5-4579-A34A-B0534DB7B525.png
14、最后提交服务器
702EB083-8D73-4231-8FC6-7E0002BDE5EE.png
15、查看历史版本 输入 svn log
7AEA40D2-B7BD-4664-9972-28B9D5F49C30.png
16、版本回退 输入 svn update -r n (n回退到哪个版本)
只是本地仓库的回退 , 服务器的还是当前版本
- 方法一 本地版本回退后,在本地新建个属性或随便增加或修改一下,然后update 就会产生冲突 ,选择mc 就会将服务器的代码替换
成本地代码 ,然后提交就行了
0BE8708E-F082-42D4-AB15-C51194DCF275.png
添加了一个新的属性 然后update
9C379E55-6357-46C7-8EC2-CC9E5B9217F5.png
产生冲突 选择mc 然后commit 提交到服务器
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"
9158EEEA-F6FE-42A6-AB55-44BC4620B78B.png






网友评论