码迷,mamicode.com
首页 > 其他好文 > 详细

Git ----> 概念123

时间:2019-09-15 18:22:26      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:引用   链接   一个   客户   修改文件   快照   存在   最新版   十六进制   

版本控制

  版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

版本控制系统(VCS)作用

  1 回溯文件到之前的某个状态

  2 回退整个项目到之前的某个时间点

  3 比较文件的变化细节

  4 恢复项目中修改过的文件到原先的样子

  。。。

本地版本控制系统

  采用某种简单的数据库来记录文件的历次更新差异。

集中化的版本控制系统(CVCS)

  有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

  坏处:中央服务器的单点故障:宕机、中心数据库所在的磁盘发生损坏。这些故障会导致无法工作或者丢失所有历史更新记录。

分布式版本控制系统(DVCS)

  客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。每一次的克隆操作,实际上都是一次对代码仓库的完整备份。

Git的特点

  1 速度

  2 简单的设计

  3 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)

  4 完全分布式

  5 有能力高效管理类似Linux内核一样的超大规模项目(速度和数据量)

Git的思想和工作原理

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

  Git对待数据更像是一个快照流。Git更像是一个小型的文件系统。

  Git绝大多数操作都是本地执行

  Git保证完整性:Git中所有数据在存储前都计算校验和,然后以校验和来引用。这意味着不可能在Git不知情时更改任何文件内容或目录内容。Git用以计算校验和的机制叫做SHA-1散列。这是一个由40个十六进制字符组成的字符串,基于Git中文件的内容或目录结构计算出来。

  Git一般只添加数据:执行Git操作,几乎只往Git数据库中增加数据。一旦提交快照到Git中,就难以在丢失数据。

Git概念

Git有三种状态:已提交(committed)、已修改(modified)、已暂存(staged)

已提交:表示数据已经安全的保存在本地数据库中。

已修改:表示修改了文件,但还没保存到数据库中。

已暂存:表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

 

如何判断三种状态

如果Git目录中保存着特定版本的文件,就属于已提交状态。

如果作了修改并已放入暂存区域,就属于已暂存状态。

如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。

 

Git的三个工作区域:Git仓库、工作目录、暂存区域

Git仓库目录:Git用来保存项目元数据和对象数据库的地方。

工作目录:对项目的某个版本独立提取出来的内容。

暂存区域:它是一个文件,保存了下次将提交的文件列表信息,一般在Git仓库目录中。

 

Git的基本工作流程

1 在工作目录中修改文件。

2 暂存文件,将文件的快照放入暂存区域。

3 提交更新,找到暂存区域的文件,将快照永久性存储到Git仓库目录。

 

参考资料:

https://git-scm.com/book/zh/v2

Git ----> 概念123

标签:引用   链接   一个   客户   修改文件   快照   存在   最新版   十六进制   

原文地址:https://www.cnblogs.com/mrray1105/p/11523626.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!