一、
什么是
SVN
(
Subversion
)
?
有一个简单但不十分精确比喻: SVN = 版本控制 + 备份服务器
简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。
二、为甚么要用SVN?
1.
备份工作档案是十分重要的。您永远不知道计算机上的硬盘何时会坏掉。根据经验法则再加上摩菲定理,坏事情往往都发生在最重要的时刻。例如,要
release
东西的前一刻,硬盘完全坏掉,无法修复。所以,常常备份工作数据是非常重要的。大部分公司的
server
都会有专门的备份机制,甚至是异地备援。绝对比放在自己的计算机里头,或是随身碟上面来的安全。
2.
版本控管非常重要。您无法保证手头上最新版本永远都是对的。很多时候,在经过数天努力工作后,您才发现走错方向。需要将所有的修改回复到数天前版本。没有几个人能够完全记住自己修改过什么东西。如果没有做好版本控管,那么,最差的状况就是要全部重来。
3.
伙伴间的数据同步也是非常重要的。很多时候,除了您个人外,还有其它的伙伴也需要您的档案。怎么把最新的档案提供给伙伴呢?用
e-mail
?根据经验,用
e-mail
是一个很差的办法。到了最后,根本就不知道哪一封
e-mail
才是新的。因为可能您最新的
e-mail
已经被当成垃圾信给丢了。别忘了,现在很多
e-mail
软件都有
anti-spam
的功能,说不定这些信件都被当成广告信给处理掉了。而且,您也应该知道一般档案如果放在
e-mail
内,档案大小会变得比较大(通常是原来的
4/3
倍以上)。如果每天更新一次,恐怕几天没收信的话,信箱就爆了!
4.
如果没有一个好的办法,备份不同版本是很耗费硬盘空间的。例如:您有一个总共
10MB
的目录,使用单纯的档案备份。如果有
10
个版本就会变成
100MB
。
20
个版本就有
200MB
。如果,不想备份这么多版本,势必就是要减少备份的次数。拉长备份周期将会导致数据遗失的危险性增高。把旧的不需要的备份删除?根据经验,只要时间一拉长,您跟本就不知道一个月以前的版本是重要或者是不重要。
SVN
能帮我们解决上面的问题吗?答案是肯定的:
1.
SVN Repository
可以是自己计算机上的一个目录,或者是随身碟(不建议这样用)。当然也可以是公司的服务器。
2.
SVN
有很棒的版本控管机制。所有上传的版本都会帮您记录下来。日后您可以随时取得某一个时刻的版本。而且,也有版本分支及合并等好用的功能。
3.
SVN
可以让不同的开发者存取同样的档案,并且利用
SVN Server
作为档案同步的机制。也就是说,您有档案更新时,无须将档案寄给您的开发成员。只需要告诉他新的版本已经在
SVN Server
上面,请他自己去
SVN Server
上面就可以取得最新版本。而且,
SVN Server
也可以做到当您上传新版本后,自动发信给相关的成员。
4.
SVN
的存放档案方式是采用差异备份的方式。也就是说,他只会备份有不同的地方。所以很省硬盘空间。此外,他也可以针对所谓的非文字文件进行差异备份。
三、建立一个SVN存储库
四、与SVN服务器连接
建立好本地的存储库之后就可以与SVN服务器存储库同步数据了。
本文出自 “Mr_Z” 博客,请务必保留此出处http://zhangrong.blog.51cto.com/2196532/746567