SVN是Subversion的简称。是一个开放源码的版本号控制系统。在它的管理下,文件和文件夹能够超越时空的限制,权且当作一种奇妙的“时间机器”吧。
基本功能
版本号控制
作为一个版本号控制系统,SVN能够及时的更新版本号。将文件存放在中心版本号库里。
这个版本号库非常像一个普通的文件server,不同的是,它能够记录每一次文件和文件夹的改动情况。
这样就能够籍此将数据恢复到曾经的版本号,并能够查看数据的更改细节。
备份
SVN会对你的每一次操作和更改进行备份(为了节省占用空间。多採用增量备份)。更改错误、误删、不惬意、修bug、建分支,这些都没关系。
有了SVN,妈妈再也不用操心我改代码了。so easy !
工作流程
要点
对SVN总体的了解和把控。
文件的检出(Checkout)、加入(Add)、提交(Commit)、更新(Update);
版本号库的合并、分离、转移;点这里
冲突
在使用SVN提交文档时,不免遇到冲突而无法提交。
产生原因:
多位团队成员操作同一文件,此时版本号号为1。A小伙工作利索。干劲十足。非常快操作完毕,提交后server上版本号变化为2;B小伙干的慢,随后也完毕了,開始提交,此时冲突出现。
由于B要提交的文件此时在server上已经变更为版本号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,可见人们对工具的使用总是非常挑剔,对先进工具的不断学习必将提高我们的工作效率,所以对学习这件事来说。我们未完待续……