炫意html5
最早CSS3和HTML5移动技术网站之一

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

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

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

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

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

回答

  1. 不会删除旧的数据, 而是增加一个修订版本. 可以show log看到所有的更改历史.
  2. svn会告诉你当前的提交有文件冲突, 需要手动解决冲突后才能提交
  3. 你拉取的代码版本是1, 仓库版本是2, 当你代码修改后(称为版本3), svn会检查版本号,并提示要你先update在commit.
    update的时候svn会尝试自动合并代码, 如果有冲突不能自动合并(比如修改了同一行代码)就会要求手动合并,

可以查看官方文档: https://subversion.apache.org/faq.zh.html

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

Java基础教程Android基础教程