基本原则是:每次提交前需要先和线上的对比,先把冲突解决掉,然后把线上的更新到本地,最后把本地的提交上去。
右键项目 -> Team -> 与资源库同步
在同步视图中选择Conflicts Mode,以便首先查看解决冲突
双击需要解决的冲突文件,这里为Student.java,右侧主显示区会出现比较视图。左侧为本地程序,右侧为svn上的最新代码
原来字段名为email,本地将其改为emailAddress,线上代码显示有人将原来的email改为了phoneNumber并增加了属性teacher
选中右侧的两行,点击图标拷贝到本地,保存
此时线上的代码都已经拿下来了,可以继续执行下一步。
右键冲突文件,选择“标记为合并”
点击Incoming Mode -> 右键项目 -> 更新(更新线上的其他无冲突的代码)
点击Outgoing Mode -> 右键项目 -> 提交。输入注释确定提交。
经验:在提交前最好将视图中列出的(所有修改过的)文件双击查看审核一边,确保没有错误或者临时的代码。这一步常常会检查出问题。
大家一起开发,难免有时会同时修改同一个文件,这样就要学会解决冲突。当大家更新代码,发现以下情况的时候,就说明你的修改的文件和服务器的文件产生了冲突(一般是别人也改了同一个文件)。
1)和服务器有冲突的文件:
2)点击Update以后,如果出现以下情况(出现四个文件),就说明需要解决冲突。
如何解决冲突:
出现文件冲突的时候:你有四个选择:
1 以我修改的为准,不管服务器目前的那个版本,比如另外同事和我同时修改了同一个地方,但是我觉得我写的更好:
1)右击冲突文件,选择 Mark Resolved:
2) 在弹出框中选择第二个(Resolve the conflict by using my version of the file.),点击确定即可。
2 选择服务器目前最新的版本,比如我原来想改这个文件,后来发现同事已经改好了,就可以选择这个:
1)右击冲突文件,选择 Mark Resolved:
2)在弹出框中选择第三个(Resolve the conflict by using the incoming of the file.),点击确定即可。
3 选择服务器的基础版本,这种情况出现比较少,比如我改着改着,后来别人说这个功能不做了,其他同事修改的也要取消,就可以选择这个:
1)右击冲突文件,选择 Mark Resolved:
2)在弹出框中选择第四个(Resolve the conflict by using base version of the file.),点击确定即可。
4 这种情况比较常见,主要是这个文件里面,我同事改的也需要,我改的也需要,这样就要进行编辑冲突,将我们的两个文件合成一个:
1)右击冲突文件,选择 Edit Conflicts:
2)在弹出框中,对两个文件进行合并,以左边的那个为准。合并完以后,保存。
3)在弹出框中选择第一个(Conflicts have been resolved in the file.),点击确定即可。