版本控制器git与svn

1、svn

SVN(是subversion的简称)是一款基于C/S架构的,非常优秀的版本控制器(可以简单的理解为管理代码的工具,在多人协同开发的时候,尤其重要),与传统的CVS(90年代左右,一个非常优秀的代码管理器,是代码管理器的鼻祖)管理工具类似。

SVN可以随着时间的推移来管理各种数据,这些数据被放置在一个SVN管理的中央仓库(所有的代码的集合)里面。同时SVN会备份并记录每个文件每一次的修改更新变动。这样就开发者就可以回归到任何一个时间点的某一个旧的版本(对于SVN,没修改一次文件,SVN就会创建一个叫做版本的概念,是从0 开始自增的序列)。当然也可以指定文件的更新历史记录(index.php)。

SVN又叫做集中式版本控制器。严重的依赖服务器端,当服务器端无法使用的时候,版本控制也就无法再使用了。

2、git

Git是目前世界上最先进的分布式版本控制系统(没有之一)。​当这个系统的任何一个客户端出现问题的时候,都可以从另外的客户端(即使服务器挂了)获取所有的代码。

3、svn与git的区别

  1. GIT是分布式的,而SVN是集中式的
  2. GIT把内容按元数据方式存储,而SVN是按文件:因为git目录是处于个人机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。
  3. GIT分支和SVN的分支不同:svn会发生分支遗漏的情况,而git可以同一个工作目录下快速的在几个分支间切换,很容易发现未被合并的分支,简单而快捷的合并这些文件。
  4. GIT没有一个全局的版本号,而SVN有
  5. GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
相关推荐
16年上任的CTO3 小时前
it基础使用--5---git远程仓库
git·git远程仓库
苏-言9 小时前
Git进阶之旅:Git Hub注册创建仓库
git
摸鱼仙人~20 小时前
Git如何避免推送.idea文件夹
java·git·intellij-idea
sunny_liangzilong1 天前
为何 git 默认是 master分支,而github默认是main分支(DeepSeek问答)
git·github
yangshuo12811 天前
git安装flutter
git·flutter
16年上任的CTO1 天前
git基础使用--4---git分支和使用
git·gitee·git分支
16年上任的CTO1 天前
git基础使用--1--版本控制的基本概念
git·gitee·版本控制
wdxylb2 天前
GIt使用笔记大全
笔记·git·elasticsearch
maply2 天前
VSCode 中的 Git Graph扩展使用详解
ide·git·vscode·编辑器·扩展
行十万里人生2 天前
Qt事件处理:理解处理器、过滤器与事件系统
开发语言·git·qt·华为od·华为·华为云·harmonyos