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
相关问题
PolarDB 备份恢复原理是什么
1144浏览 • 1回复 待解决
OceanBase 复制表原理是什么
2221浏览 • 1回复 待解决
LazyForEach懒加载原理是什么
219浏览 • 1回复 待解决
svn客户端和svn服务端版本不同。
551浏览 • 1回复 待解决
性能优化中组件复用原理是什么
170浏览 • 1回复 待解决
OceanBase 多租户原理是什么
2552浏览 • 1回复 待解决
什么时候优化更新到鸿蒙222版本
3550浏览 • 1回复 待解决
PolarDB 数据结构是什么
990浏览 • 1回复 待解决
数据库存储地址是什么
208浏览 • 1回复 待解决
OceanBase是什么数据库?
1790浏览 • 1回复 待解决
PolarDB 数据库结构是什么
1217浏览 • 1回复 待解决