版本控制器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哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
相关推荐
无限进步_10 小时前
C语言atoi函数实现详解:从基础到优化
c语言·开发语言·c++·git·后端·github·visual studio
地球没有花1 天前
gitlab cicd首次操作
运维·git·ci/cd·gitlab
无限进步_1 天前
【C语言】贪吃蛇游戏设计思路深度解析:从零开始理解每个模块
c语言·开发语言·c++·git·游戏·github·visual studio
达子6662 天前
git使用应用实战大全
git
P***25392 天前
Git教程
git
Slow菜鸟2 天前
Java 开发环境安装指南(五) | Git 安装
java·git
计算衎2 天前
Git 命令 作用、常用选项、示例、何时使用与注意事项指南
git·源代码管理
小生不才yz2 天前
(三)分支与合并 - git cherry-pick 命令的使用
git
hadage2332 天前
--- git 笔记 ---
笔记·git·elasticsearch
johnny2332 天前
Git:进阶、衍生
git