第一章:WHY

当团队进行编码的时候需要版本控制器,于是SVN就诞生了。

好吧,在SVN前面还有很多前辈的版本控制器,如CVS等等我也不知道

认识到CVS差 --------有了做新东西的想法--------

这个新东西的作者也是Open Source Development with CVS的作者,新东西名字都想好了,就叫subversion简称SVN

第二章:WHAT

SVN由服务器和客户端组成。和github不同的是,SVN是开发团队自己出服务器,自己出客户端(github的服务器由github出)。

一群小同学编程编好了以后,代码都往老板那里更新,这就是SVN。

服务器和客户端都自己下载,服务器一般使用Visual SVN,客户端一般使用Tortoise SVN。

第三章:HOW

第四章:冲突处理

SVN的冲突处理核心就是一个版本在服务器上只能有一个版本

就是说,每个版本从第十版,到第十一版,无论进行了怎么样的修改,commit都是直接覆盖,没有报任何冲突。

如果你已经更新了第十版,然后在第十版上改,update,即使不一样也不会报冲突,他认为你懂得这些冲突,这些冲突是你自己主动修改的,你是知情的,但是update之后问价的右下角不是勾,是感叹号。

这种情况才有冲突:如果你已经更新了第十版,然后在第十版上改,这个时候B已经把服务器版本更新到了十一版,update,commit都会有冲突,他认为你可能不知情,这个修改不是你改的,所以你要好好看看哪里有冲突。

总之核心就是,服务器上每个版本(代码的版本)只能有一个版本(一套代码),有冲突绝对不能提交,update会变成感叹号。

所以使用SVN的好习惯应该是先update 再commit。

先update,把版本演进到最新版本,这个时候出现冲突也没事,先做个小处理,有冲突的文件右下角会变成叹号,意思是这个文件还是跟服务器的不一样。然后在commit,这个时候就能覆盖了。