ITPub博客

首页 > 数据库 > 数据库开发技术 > 不是每个开发者都在正确使用SVN解决代码版本冲突

不是每个开发者都在正确使用SVN解决代码版本冲突

原创 数据库开发技术 作者:MavenTalk 时间:2018-09-12 06:19:15 0 删除 编辑

不知道从什么时候开始,我把解决svn代码冲突的问题加到初、中级面试者的题目中,主要考察编写代码量的多少、协作编写代码、SVN使用的规范等问题。只要你写的代码够多,经常与别人协作完成功能,碰到代码冲突在所难免。

很多人担心代码会冲突,担心代码会丢失,这些都是版本管理工具没有使用好的外在表现。

先不要往下看解决方案,如果当事人是你,你怎么解决这个问题处理呢? 


题图:from unsplash

方案一

  1. 把自己的代码复制出来

  2. 将多余的几个不规范(.mine,.r7434,*.r7436诸如此类)的文件删除

  3. 把当前文档还原到最新版本

  4. (使用Beyond Compare比较一下)将自己的代码添加进来后保存,commit

  5. 完成。

缺点:

  1. 1,完全没有使用svn/git工具的特性来解决冲突


  2. 2,单文件代码量大、改动处较多时,操作不方便


  3. 3,项目代码量大、冲突多时,操作不方便


  4. 4,容易丢失代码


方案二

  1. 直接打开冲突文件,找到其中形如....mine,=====>等类似的标记;或使用工具的与资源库同步功能,双向对比代码。

  2. 需要干系人参与的,找到干系人,确保功能的唯一性;不需要干系人参与的,直接将冲突代码清除保留一份,或者删除冲突的标记,直接将代码合并。

  3. 确保文件中没有冲突的标记后,保存文件,此时还不能直接commit文件,在svn看来此文件依旧处于冲突状态(多出的三个文件还存在)

  4. 打开svn相应菜单或命令,标记该文件冲突解决,标记后你发现多出的三个文件(.mine,.r7434,*.r7436诸如此类)自动消失,文件处于被修改状态

  5. commit,完成。


你是采用方案一?还是方案二?

顺带提一句,大家很有必要掌握下版本库下不同状态的外在表现形式

扩展阅读:

长按2秒,识别二维码,关注我。

原文作者:MavenTalk;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2016-07-13

  • 博文量
    461
  • 访问量
    189201