June 9, 2013 分类: Linux     作者: hoverlees     留言: 发表

以前一直用的svn管理自己的文件,给了自己很大的帮助。版本控制不仅仅可以用在程序开发人员身上,对任何使用计算机的人而言都会有很大的帮助。

不过,svn也有很多的问题,比如说,它会在每个目录下创建一个.svn目录,这个目录内的文件是记录版本信息的,但它在工作目录里几乎到处都是,复制的时候也会一起复制走。虽然svn export可以导出干净的文件,但这个操作首先要浪费时间,而且意味着svn控制中的目录是不干净的,不能随便拷。不过据说新版本的svn也跟git一样改为只有一个控制目录了。

svn还有一个问题就是它不是分布式的,它有一个中心服务器,这个中心服务器控制着整个项目的版本进度,也就是说,当这个中心服务器出了问题,整个项目就处理无法控制版本的情况。而git做得很好,git是分布式的,任何一个机器都是一台版本控制体,其实并没有真正的服务器概念,当文件有变更时,直接提交到本地仓库。想把自己的仓库发送到其他机器上,就叫做推送,想把其他机器上的信息复制过来,就叫拉取。当多台机器都发生变化时,相互推送后会产生不同的分支,可以通过合并操作将两个改动合并到一起去。

觉得git不仅是很强的版本控制软件,甚至可以做同步软件了,不仅可以取代rsync进行文件的备份,甚至比rsync更厉害。为什么?因为rsync是有服务器概念的,而git没有。

我来留个言

您的电子邮箱我一定会保密的哦!

昵称

邮箱

评论内容