Git与 SVN

一、集中式VS分布式

1、集中式

1、从服务器下载最新代码。

2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(对代码改来改去,想看前一个小时自己修改了哪些代码,就需要这样做)。

3、从服务器下载最新代码,并解决服务器版本库与本地代码的冲突,将自己的分支合并到服务器主分支上。
在这里插入图片描述

2、分布式

1 从服务器上克隆完整的Git仓库(包括代码和版本信息)到本机上。

2 在自己的机器上根据不同的开发目的,创建分支,修改代码。

3 在单机上自己创建的分支上提交代码、合并分支,提交到本地版本库。

4 把服务器上最新版的代码pull/fetch下来,解决服务器版本库与本地代码的冲突,然后跟自己的主分支合并。

5 如果没问题,push到服务器

在这里插入图片描述

3、集中式VS分布式

集中式:如果中央服务器出故障,SVN的历史库存在于中央仓库,每次对比与提交代码都必须连接到中央仓库才能进行;断网的情况下,其实也能是工作,但是由于没有版本控制的记录,当多人修改后就比较难以快速的合并。

分布式:如果中央服务器故障,Git本地仓库包含代码库还有历史库,不需要网络,自己可以在脱机环境查看开发的版本历史,在本地的环境开发也可以进行比对,回退等操作。Git都在本地保存了版本记录,所以大家合并起来就容易多了,等到服务器好了,直接提交就行了;或者可以随时创建一个新的中央库,随便从其他人那里复制一个然后同步就立刻恢复了中央库。

svn中央服务器挂了,那我一样可以重新搭建一个服务器呢,然后将本地的项目上传就能恢复?

二、数据存储方式

大部分版本控制系统以文件变更列表的方式存储信息,它们将保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。

在这里插入图片描述

Git把数据看作是对小型文件系统的一组快照。 每次你提交更新,或保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。
为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。

在这里插入图片描述

三、Git概念理解

Git工作区域种类:

工作区(工作目录):电脑里能看到的目录
版本库( Git 仓库目录):工作区有一个隐藏目录.git,就是Git的版本库。
暂存区域:一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被 称作`索引’,不过一 般说法还是叫暂存区域。

tips:Git版本库中为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
在这里插入图片描述

被管理文件的几种状态:

已修改(modified):表示修改了文件,但还没保存到本地版本库中
已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中
已提交(committed):表示数据已经安全的保存在本地版本库中

Git 工作流程:在工作目录中修改文件  暂存文件将文件的快照放入暂存区域  提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值