您的位置:首页 > 其它

Git与Svn的区别

2017-08-21 13:18 218 查看
Git与Svn的区别,主要有五点

代码管理——Git

(一)功能[1]

GIT主要是是个版本控制系统,

同时它也是个内容管理系统(CMS),工作管理系统等。

主要有用于clone,push,branch ,merge ,pull ,rebase等操作。

(二)Git与Svn比的优点[2]:

(1).GIT是分布式的,SVN不是;

也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库;

同时也有利于开源软件社区的开发。

(2).GIT把内容按元数据方式存储,而SVN是按文件;

.git目录比较大,它是一个克隆版本,它拥有中心版本库上所有的东西,例如版本记录,分支等。

(3).GIT分支和SVN的分支不同;

GIT的分支可以在IDEA下方,却是更相当的简单和有趣。

(4)GIT没有一个全局的版本号,而SVN有

(5).GIT的内容完整性要优于SVN;

GIT的内容存储使用的是SHA-1哈希算法,这能确保代码内容在遇到磁盘故障和网络问题时版本的完整性。

(6).Git下载后在本地不联网可见所有的log,而SVN却需要联网;

项目管理中,SVN相对安全些,而Git所有代码可下载,容易泄露。

(三)Git的缺点[3]

(1)概念过于复杂,命令太混乱,非常不直观,新手上手比较难;

(2)安全机制不好,每人拷贝一份,代码非常不安全;

(3)数据量传递大,git使用镜像,如果是项目图片视频多的话,不相关的组员也要去下载;

(4)Git的GUI工具不太理想;

(5)分支合并的历史很容易搞乱;

(6)版本不兼容。

(四)版本控制器(cvs,svn,git等)[4]

版本控制器的历史:CVS(90年代开发的鼻祖)、SVN(CVS的接班人)、GIT(李纳斯开发)

(1)协同管理代码,方便多人开发代码;

(2)回归到以前的任何一个时间点的代码处,可以后悔;

(3)方便寻找正确的历史版本;

(4)有效控制团队开发中的 代码冲突 的问题;

(5)记录项目组员的具体操作,便于问题排查。

参考文献:

1.Git的功能:https://jingyan.baidu.com/article/676629976401a154d51b8430.html

2.Git与Svn的五点不同:http://blog.jobbole.com/31444/

3.Git的缺点:https://www.zhihu.com/question/20401926

4.版本控制器:http://blog.sina.com.cn/s/blog_14ecbedb80102x0p8.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: