git对比svn有什么优势?
Subversion是集中式管理的数据仓库
虽然速度快和多副本等git分布式数据仓库显而易见的好处吸引了很多人的喜爱,但在很多情况下,一个集中式的数据仓库却是更合适的。例如,如果你有一些核心代码想只允许部分人能访问,把它放到git里必然是你不希望的。很多的企业都是将它们的代码集中管理的,我猜,所有(重要)政府项目估计都使用的是集中式数据仓库的版本控制系统。
Subversion的理念符合常规思维这是说,很多人(特别是管理者或老板)对版本号有一种习惯的认识,把开发视作一种按时间的线性发展轨迹,这在他们脑子里根深蒂固。并不是找借口,Git的随意性并不是很容易去理解,你也许注意到了,任何一本关于Git的书都会在第一章第一节告诉你要抛弃脑子里所有的传统观念,重新认识。
Subversion只提供一种途径,没有第二选择
SVN是一个版本控制系统,它只提供一种方式做这些,每个人都使用相同的方法。就是这样。这使得你将代码从SVN迁移到其它集中式管理的VCS或从其它集中式管理的VCS迁进来变得很容易。Git并不仅仅是一个版本控制系统——它实际上是一个文件系统,它里面有很多的拓
扑学知识来支持你如何在不同的环境中架设代码仓库——并且没有一个统一的标准。选择一个合适的拓扑结构就成了难题。
其它一些优势:
SVN支持空目录
SVN有更好的Windows平台支持
SVN可以check out/clone一个子树(sub-tree)
svn服务器如何做备份?
有个最简单的操作,在操作系统上做一个计划任务,在没人进行读写操作的时候,比如凌晨3点,执行copy命令完成备份。备份--把整个QD文件夹复制到别的地方;还原--把备份的QD文件夹复制回来。
另外还有个办法,是用SVN的同步功能:svnsync命令,另外再架设一台SVN服务器用作备份,然后在源服务器的hooks文件夹内编辑post-commit这个钩子程序,实现每次有人执行commit操作的时候,就自动调用svnsync将最新的内容同步到备份服务器上。这个操作相对复杂些,但是能实现增量备。
svn用户权限的设置?
1、首先你要弄明白subversion、visualsvn、apache之间的关系。
2、版本控制的核心软件(也就是SVN)实质上指的是subversion。svnserve.conf是这个工具自带的版本库权限管理文本,只控制某个版本库。如果你访问版本库的客户端地址的前缀是svn://或者svn+ssl方式来访问版本库,那么这个文件就会起作用。
3、一般来讲,我们很少会用上述方式来访问,因为每个库都要手动编辑这个权限文件,那么我们会采用另一种方式搭建服务器,也就是apache+subversion(也可以集成其他比如ssl、域认证等模块)的方式,这个方式下,我们的权限控制是通过apache来读取认证文本的,这样无论我们有多少个版本库,认证文件都只有一个。然后通过手动编辑或者命令行编辑或者svn管家等方式来总体控制所有版本库权限。而且可以通过http或者https来访问。通过IE访问。
4、VisualSVN Server说白了这就是个一键安装包(他集成了相关联的所有软件比如subversion、apache、ssl、域认证等等),另外自己加入了读取目录进行权限分配的功能,比自带的要手工编辑权限文件更可靠和好用。也是利用的apache只需要读取groups.conf和htpasswd,而不需要读取每个库的svnserve.conf,这样svnserve.conf自然也就不会变了。
5、你可以在你安装visualsvn的目录下找到一个说明文件,他会表面这个版本的visualsvn里面各个软件(subversion、apache、ssl等)的版本。明白了他们的关系,然后试着去搭建一个apache+subversion,就知道他们是怎么回事了
到此,以上就是小编对于自己搭建svn的问题就介绍到这了,希望介绍的3点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。