版本控制器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哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
相关推荐
程序设计实验室9 分钟前
在Windows上将git与ssh-agent搭配使用,再也不用输入git密码了
windows·git
Clownseven30 分钟前
Gitea Webhook教程:实现git push后自动部署更新网站 (CI/CD入门)
git·ci/cd·gitea
兔老大RabbitMQ2 小时前
git pull origin master失败
java·开发语言·git
码农小白-RMS9 小时前
cursor-执行git指令(vscode同理)
git
爱喝矿泉水的猛男12 小时前
Git Commit 提交信息标准格式
git·commit
℘团子এ12 小时前
git中,将新项目推送到新建的远程仓库
git
gitboyzcf12 小时前
Git 常用命令
前端·git·后端
哈里谢顿12 小时前
Git 最实用的四个还原命令详解
git
xiAo_Ju1 天前
git hooks配置
git
mit6.8241 天前
[Git] 如何拉取 GitHub 仓库的特定子目录
git·github