Git 和 SVN 有什么区别?

简介: SVN(Subversion) 属于集中化的版本控制系统,只有一个单一的服务器用来集中管理和保存所有文件的修订版本。

一、SVN

SVN(Subversion) 属于集中化的版本控制系统,只有一个单一的服务器用来集中管理和保存所有文件的修订版本。

而协同开发的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

注:VCS 指 Version control system(版本控制系统)

缺点:集中化的版本控制系统最显而易见的缺点是中央服务器的单点故障。如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,毫无疑问你将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。

二、Git

为了解决集中化的版本控制系统的缺点,分布式版本控制系统应运而生。Git 就是分布式版本控制系统的代表。

在这类系统中,像 Git、Mercurial、Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来,包括完整的历史记录

这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。

因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。

三、总结

  • SVN 属于集中化版本控制系统,由单一服务器集中管理,如果中央服务器出现故障,很有可能无法恢复代码仓库。

  • Git 属于分布式版本控制系统,每一个客户端都完整的镜像了代码仓库,即使服务器故障,也可以从任何客户端恢复代码仓库。

相关文章
|
5月前
|
程序员 Linux 开发工具
Git基本概念、工作流程及与SVN的对比
Git基本概念、工作流程及与SVN的对比
47 0
|
7月前
|
移动开发 小程序 Linux
【Linux】Linux和Window下\r与\n的区别、git命令行的使用
目录 1. 回车换行符在Window下和在Linux下的区别: 1.1回车换行符: 1. 2.行缓冲区打印: 1.3进度条小程序 :
107 0
|
5月前
|
存储 算法 开发工具
git是什么?git的五个命令,git和svn的区别
git是什么?git的五个命令,git和svn的区别
46 0
|
5月前
|
存储 前端开发 开发工具
git clone -mirror 和 git clone 的区别
git clone -mirror 和 git clone 的区别
|
5月前
|
开发工具 git 开发者
百度搜索:蓝易云【Git:Rebase和Merge之间的区别】
综上所述,Rebase和Merge在代码合并方面具有不同的特点和用途。根据具体的情况和个人偏好,选择适合的合并方式能够更好地管理和组织代码。
42 0
|
5月前
|
前端开发 开发工具 git
git rebase 和 git merge的区别?以及你对它们的理解?
git rebase 和 git merge的区别?以及你对它们的理解?
69 1
|
5月前
|
存储 安全 开发工具
快速入门安装及使用&git与svn的区别&常用命令
快速入门安装及使用&git与svn的区别&常用命令
107 0
|
9月前
|
存储 安全 开发工具
版本管理工具git 与 svn 的区别具体有哪些?
版本管理工具git 与 svn 的区别具体有哪些?
82 0
|
20天前
|
缓存 数据可视化 网络安全
Git命令大全
Git命令大全
52 1
|
24天前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
43 0
Git教程:深入了解删除分支的命令