码迷,mamicode.com
首页 > 其他好文 > 详细

为什么要使用Git?

时间:2018-07-11 16:34:10      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:客户   服务器端   移动   追踪   分布   指南   工作效率   sha   二进制文件   

现在目前代码仓库比较流行的应该就属于git和svn的天下了,前几年的时候svn还是比较火的,首先简单易懂,而且简单的冲突解决本地解决一下就好了,其他的基本上没什么复杂的,单纯不建分支的话git和svn相对来说区别还不是特别大,而且这个svn要更好一些,但是既然使用了git没有不建分支的.下面我们就来说说这两个的区别.
git和svn的区别:
1.版本库的安全性

SVN版本库安全性很差,是管理员头痛的问题。

● SVN版本库服务器端历史数据被篡改,或者硬盘故障导致历史数据被篡改时, 客户端很难发现。管理员的备份也会被污染。

● SVN作为集中式版本控制系统,存在单点故障的风险。备份版本库的任务非常繁重。

Git在这方面完胜SVN。首先Git是分布式版本控制系统,每个用户都相当于一份备份, 管理员无需为数据备份而担心。再有Git中包括提交、文件内容等都通过SHA1哈希保证数据的完整性, 任何恶意篡改历史数据都会被及时发现从而被挫败。

2.对合并更好的支持,更少的冲突,更好的冲突解决

因为Git基于对内容的追踪而非对文件名追踪,所以遇到一方或双方对文件名更改时, Git能够很好进行自动合并或提供工具辅助合并。而SVN遇到同样问题时会产生树冲突, 解决起来很麻烦。

Git的基于DAG(有向非环图)的设计比SVN的线性提交提供更好的合并追踪, 避免不必要的冲突,提高工作效率。这是开发者选择Git、抛弃SVN的重要理由。

3.十条使用Git的理由

更多的十条喜欢Git的理由,参见 《Git权威指南》 第11-21页。

● 异地协同工作

● 现场版本控制

● 重写提交说明

● 无尽的后悔药

● 更好用的提交列表

● 更好的差异比较

● 工作进度保存

● 作为SVN前端实现移动办公

● 无处不在的分页器

● 快

什么情况推荐使用SVN?

SVN具有的悲观锁的功能,能够实现一个用户在编辑时对文件进行锁定,阻止多人同时编辑 一个文件。这一悲观锁的功能是 Git 所不具备的。
对于以二进制文件 (Word文档、PPT演示稿) 为主的版本库,为避免多人同时编辑造成合并上的困难, 建议使用SVN做版本控制。

为什么要使用Git?

标签:客户   服务器端   移动   追踪   分布   指南   工作效率   sha   二进制文件   

原文地址:http://blog.51cto.com/itengxun/2140464

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!