IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 版本控制方案SVN和git的区别 -> 正文阅读

[开发工具]版本控制方案SVN和git的区别

目录

方案一svn

SVN?特点

?SVN优点

SVN缺点?

方案二git???????

???????Git特点

???????Git优点

???????Git缺点?

版本控制方案三


???????

方案一svn

????????集中式版本控制方案,采用SVN工具管理。

?

SVN?特点

  1. 每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据;
  2. 获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;
  3. 提交必须有网络连接(非本地版本库);
  4. 提交需要授权,如果没有写权限,提交会失败;
  5. 提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”… 诸如此类;
  6. 冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决。

?SVN优点

1、 管理方便,逻辑明确,符合一般人思维习惯。?

2、 易于管理,集中式服务器更能保证安全性。?

3、 代码一致性非常高。?

4、 适合开发人数不多的项目开发(一般公司很难有几十个人同时开发)。?

???????SVN缺点?

1、 服务器压力太大,数据库容量暴增。?

2、 如果不能连接到服务器上,基本上不可以工作,不能提交,还原,对比等等。?

3、 不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。

4、如果中央服务器的磁盘发生故障,并且没做过备份或者备份得不够及时的话,还会有丢失数据的风险。

方案二git???????

????????分布式版本控制方案,采用GIT工具管理。

???????Git特点

Git中每个克隆(clone)的版本库都是平等的。你可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人,只要你愿意。

Git的每一次提取操作,实际上都是一次对代码仓库的完整备份。

提交完全在本地

???????

完成,无须别人给你授权,你的版本库你作主,并且提交总是会成功。

甚至基于旧版本的改动也可以成功提交,提交会基于旧的版本创建一个新的分支。

Git的提交不会被打断,直到你的工作完全满意了,PUSH给他人或者他人PULL你的版本库,合并会发生在PULL和PUSH过程中,不能自动解决的冲突会提示您手工完成。

冲突解决不再像是SVN一样的提交竞赛,而是在需要的时候才进行合并和冲突解决。

Git 也可以模拟集中式的工作模式

Git版本库统一放在服务器中,可以为 Git 版本库进行授权:谁能创建版本库,谁能向版本库PUSH,谁能够读取(克隆)版本库

团队的成员先将服务器的版本库克隆到本地;并经常的从服务器的版本库拉(PULL)最新的更新;

团队的成员将自己的改动推(PUSH)到服务器的版本库中,当其他人和版本库同步(PULL)时,会自动获取改变

Git 的集中式工作模式非常灵活

你完全可以在脱离Git服务器所在网络的情况下,如移动办公/出差时,照常使用代码库;

你只需要在能够接入Git服务器所在网络时,PULL和PUSH即可完成和服务器同步以及提交;

Git提供 rebase 命令,可以让你的改动看起来是基于最新的代码实现的改动;

Git 有更多的工作模式可以选择,远非 Subversion可比

???????Git优点

1、适合分布式开发,强调个体。?

2、公共服务器压力和数据量都不会太大。?

3、速度快、灵活。?

4、任意两个开发者之间可以很容易的解决冲突。?

5、离线工作。?

???????Git缺点?

1、学习周期相对而言比较长。?

2、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

版本控制方案三

采用版本控制软件+项目管理软件进行管理

注:结合自己公司实际情况,目前大部分公司各部门用的SVN管理软件比较多相对熟悉,git比较适合开源项目开发版本管理,产品类可以使用以上两种方式进行管理,对于项目型产品可以借助项目管理软件进行管控。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-02-16 13:19:30  更:2022-02-16 13:21:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:23:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码