第一章:为什么?
当团队进行编码的时候需要版本控制器,于是SVN就诞生了。
好吧,在SVN前面还有很多前辈的版本控制器,如CVS等等我也不知道
/**
什么是CVS写在这里
**/
//CVS比SVN差在哪里,以后再说
总之SVN诞生,诞生的初期是这样的
认识到CVS差 --------有了做新东西的想法--------
这个新东西的作者也是Open Source Development with CVS的作者,新东西名字都想好了,就叫subversion简称SVN
--------几个同学一起干了14个月,雏形完成
--------之后进入开源状态,大家都可以对SVN进行修改
这个时间离我们并不远,2000年。
引用:点击打开链接
第二章:是什么
SVN由服务器和客户端组成。和github不同的是,SVN是开发团队自己出服务器,自己出客户端(github的服务器由github出)。
一群小同学编程编好了以后,代码都往老板那里更新,这就是SVN。
服务器和客户端都自己下载,服务器一般使用Visual SVN,客户端一般使用Tortoise SVN。
都可以自行百度下载,在头几个。
第三章:怎么用
比较容易,参考这篇文章吧点击打开链接
篇自己安装也完全无压力。
第四章:冲突处理
经过不断尝试,SVN的冲突处理核心就是一个版本在服务器上只能有一个版本。
就是说,每个版本从第十版,到第十一版,无论进行了怎么样的修改,commit都是直接覆盖,没有报任何冲突。
如果你已经更新了第十版,然后在第十版上改,update,即使不一样也不会报冲突,他认为你懂得这些冲突,这些冲突是你自己主动修改的,你是知情的,但是update之后问价的右下角不是勾,是感叹号。
这种情况才有冲突:如果你已经更新了第十版,然后在第十版上改,这个时候B已经把服务器版本更新到了十一版,update,commit都会有冲突,他认为你可能不知情,这个修改不是你改的,所以你要好好看看哪里有冲突。
总之核心就是,服务器上每个版本(代码的版本)只能有一个版本(一套代码),有冲突绝对不能提交,update会变成感叹号。
所以使用SVN的好习惯应该是先update 在commit。
先update,把版本演进到最新版本,这个时候出现冲突也没事,先做个小处理,有冲突的文件右下角会变成叹号,意思是这个文件还是跟服务器的不一样。然后在commit,这个时候就能覆盖了。
其他一:云上的SVN
首先建立一个app
点开某个app,在左侧的菜单栏可以看见各种设置,包括成员设置和代码版本。
本地使用的时候在SVN checkout的url写上https://svn.sinaapp.com/XXXXXX(XXX是二级域名)
如上图app是svnserver5,其他的操作和本地svn一样。
用户名密码是sina安全邮箱的密码和帐号,不是微博的。