写点什么

初学开发必看:何为 Git,何为 SVN

  • 2022 年 10 月 08 日
    中国香港
  • 本文字数:965 字

    阅读完需:约 3 分钟

初学开发必看:何为Git,何为SVN

本文分享自华为云社区《Git VS SVN》,作者:gentle_zhou。


在和客户交流代码开发的过程中,时常会先入为主的交流起 Git;但在和很多中小型企业交流的过程,发现 SVN 的模式也被使用得很频繁。那么两者的具体差异有哪些呢?

什么是吉特


Git 是一个分散式的版本控制软体,最初由瑞典籍 Linus Benedict Torvalds 创作,在 2005 年以 GPL 的条款授权方式出现。最初其目的是为了更好地管理 Linux 核心开发。Git 把数据看做是对小型文件系统的一系列快照(快照流);每当用户提交更新或则保存项目状态的时候,Git 就会对当时的全部文件创建一个快照并保存这个快照的索引;为了效率,如果文件没有做修改,Git 就不再重新存储该文件,而是只保留一个链接指向之前存储的文件。


随时间改变,Git 内对数据的快照:


什么是


SVN,Apache Subversion 的简称,是一个开放源代码的版本控制系统,开发者是 Apache 软件基金会,在 2000 年发了初始版本。SVN 是以文件变更列表的方式来存储信息,将存储在他们那的信息看做是一组基本文件和每个文件随时间逐步累积的差异;这些数据会放置在一个中央仓库中。


存储每个文件与初始版本的差异:


两者差异对比


1、Git 是分布式的版本管理控制器(代码开发方便),便于开源项目的开发;SVN 是集中式的版本管理控制器(文档管理方便),便于企业内部并行集中开发

2、Git 支持单机操作,服务器即使有故障也可在本地仓库工作(除了 push 和 pull/fetch,其余操作都可以在本地操作);SVN 的服务器如果出现故障,用户就无法与之交互(所有 SVN 操作都需要和中央仓库交互)

3、Git 每个开发者本地都是一套完整的版本库,记录着所有信息;SVN 需要定期整体备份,安全性较差

4、Git 本地创建的分支不会影响其他人,适合多分支并行开发;SVN 创建的分支会影响团队里所有人,多分支并行开发任务较重且繁琐

5、Git 提交过程不会被打断,有冲突会标记冲突文件;SVN 提交如果有冲突会打断整个动作,提交的快没影响,提交的慢,需要先行解决冲突再提交

6、Git 没有严格的权限管理控制,只有账号角色的划分;SVN 的权限管理很严格,可以按照组、个人针对子目录进行权限控制

参考资料


1、https://www.geeksforgeeks.org/difference-between-git-and-svn/

2、https://git-scm.com/book/zh/v2/ 起步-Git-是什么?

3、https://zh.wikipedia.org/zh-tw/Git

4、https://zh.wikipedia.org/wiki/Subversion


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 3
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
初学开发必看:何为Git,何为SVN_开发_华为云开发者联盟_InfoQ写作社区