前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不是每个开发者都在正确使用SVN解决代码版本冲突

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

作者头像
MavenTalker
发布2019-07-19 10:37:05
7900
发布2019-07-19 10:37:05
举报
文章被收录于专栏:歪脖贰点零歪脖贰点零

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

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

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

方案一
  1. 把自己的代码复制出来
  2. 将多余的几个不规范(.mine,.r7434,*.r7436诸如此类)的文件删除
  3. 把当前文档还原到最新版本
  4. (使用Beyond Compare比较一下)将自己的代码添加进来后保存,commit
  5. 完成。

缺点:

代码语言:javascript
复制
1,完全没有使用svn/git工具的特性来解决冲突
2,单文件代码量大、改动处较多时,操作不方便
3,项目代码量大、冲突多时,操作不方便
4,容易丢失代码
方案二
  1. 直接打开冲突文件,找到其中形如....mine,=====>等类似的标记;或使用工具的与资源库同步功能,双向对比代码。
  2. 需要干系人参与的,找到干系人,确保功能的唯一性;不需要干系人参与的,直接将冲突代码清除保留一份,或者删除冲突的标记,直接将代码合并。
  3. 确保文件中没有冲突的标记后,保存文件,此时还不能直接commit文件,在svn看来此文件依旧处于冲突状态(多出的三个文件还存在)
  4. 打开svn相应菜单或命令,标记该文件冲突解决,标记后你发现多出的三个文件(.mine,.r7434,*.r7436诸如此类)自动消失,文件处于被修改状态
  5. commit,完成。

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MavenTalk 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方案一
  • 方案二
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档