SVN版本控制器更新文件数据,即解决冲突的原理是什么?

有以下几个问题:
1.我检出一份副本到本地,修改了几个文件,然后我提交到SVN服务器中,此时服务器是如何更新有关的数据的呢?是不是把原来旧的文件数据删除了,保存最新提交的数据呢?

2. 假设我修改了 Person.java 文件,里面我已经改的面目全非了,在提交之前,也有个人修改了 Person.java 文件,他比我先一步完成提交,接着我再提交,那么 SVN 是怎么解决的?

3. 上个问题中,另外一个人提交了,我先更新下来,此时SVN 又是如何确保我本地的 Person.java 文件中既保留了他人刚修改过的代码,又保留我自己修改的代码的呢?如果我们两个人都修改了同一个方法,怎么搞?或者说他把方法名都改了,我现在又更新了,那怎么玩?

求大神分享,万分感谢!!!!!!

SVN
subversion
版本控制
2021-07-29 18:54:03
浏览
已于2021-7-29 18:57:51修改
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
爱吃土豆丝的打工人
1

这种方式叫替换,你只是看着它是删除了,但是以前的记录都会存在。如果你要退回到之前的版本或者哪个版本  是可以退回的。只是SVN会一直展示的是最新的代码,为了同步其他开发者做修改。

这种情况,如果别人提交了,你没有做更新去提交的话是提交不上的,SVN会先让你做更新操作。

你更新下来的代码中,如果你喝其他人都修改了同一个地方,在编译器中会出现两个方法,但是会提示你,需要使用自己的还是使用别人的,这就是合并操作。建议做合并操作的时候,先找修改过同一个方法的这个人,它的这个方法跟你的这个方法又何差异,对比后谁的更优保留谁的。SVN服务器不是去看你的方法名,它直接对应的是整篇代码的第几行到第几行。  所以合并操作的时候要思考慎重。

分享
微博
QQ
微信
回复1
2021-07-30 08:52:52
相关问题
什么时候优化更新到鸿蒙222版本
963浏览 • 1回复 待解决
AudioRenderer和播放是什么关系?
483浏览 • 1回复 待解决
abilityslice意义是什么
5467浏览 • 3回复 待解决
如何更新页面列表数据
2825浏览 • 1回复 待解决
鸿蒙signature权限是什么意思?
2466浏览 • 1回复 待解决
ZigBee技术是什么有懂吗?
154浏览 • 1回复 待解决
可信执行环境是什么
3225浏览 • 1回复 已解决
mate30 5G鸿蒙110版本更新升级150版本
3420浏览 • 1回复 待解决
卡片数据更新问题求大佬解答
918浏览 • 1回复 待解决