首页 > 代码库 > SVN学习小结

SVN学习小结

   SVN是Subversion的简称,是一个开放源代码的版本控制系统,在它的管理下,文件和目录可以超越时空的限制,权且当作一种神奇的“时间机器”吧。

基本功能

   版本控制

   作为一个版本控制系统,SVN能够及时的更新版本,将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。

   备份

   SVN会对你的每一次操作和更改进行备份(为了节省占用空间,多采用增量备份)。更改错误、误删、不满意、修bug、建分支,这些都没关系。有了SVN,妈妈再也不用担心我改代码了,so easy !

工作流程

   

要点

   对SVN整体的了解和把控;

   文件的检出(Checkout)、添加(Add)、提交(Commit)、更新(Update);

   版本库的合并、分离、转移;点这里

冲突

   在使用SVN提交文档时,不免遇到冲突而无法提交。

   产生原因:

   多位团队成员操作同一文件,此时版本号为1,A小伙工作利索,干劲十足,很快操作完成,提交后服务器上版本变化为2;B小伙干的慢,随后也完成了,开始提交,此时冲突出现。因为B要提交的文件此时在服务器上已经变更为版本2,内容也有所更改。

   解决冲突:

   1.resolve(编辑冲突) 

   2.revert(选择SVN还原,放弃自己所做的修改)

   3.成员协商交流

   如何避免:

   1.对文件修改编辑前,先更新(update);

   2.对文件编辑后,及时提交(commit),勤提交;

   3.多沟通。

关于更新和提交

   在看社河师哥录制的视频时,发现师哥总是先提交一下,然后紧接着就更新;看《SVN源代码管理规范 2.0》时,上面强调要先更新,再提交。相互矛盾,自己感觉先更新和先提交都能达到目的。查阅资料以后理解了,其实对于紧锣密鼓的开发工作时,先后没有什么大影响,这个问题就变成了先有鸡还是先有蛋的问题。

   但是,对于日常开发,先更新再提交应该是一个好习惯。更新之后才能保证目前自己的文件是最新版的,此时开始编辑,可以有效的减少冲突,这正照应了上面提到的如何避免冲突。

优点
   1.记录细节
   2.成果复用
   2.协同工作
   3.便于管理
   4.备份及时

对SVN画张图

   

小结

    关于SVN的内容不止我介绍的这么一丢丢,还有待在后续的合作发开中不断实践发现。软件开发工具随着时代发展在不断的更新迭代中,SVN来源于CVS,却将要替代CVS,可见人们对工具的使用总是很挑剔,对先进工具的不断学习必将提高我们的工作效率,所以对学习这件事来说,我们未完待续……





   

SVN学习小结