Git ----> 概念123

版本控制

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

版本控制系统(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

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

时间: 2024-10-10 08:02:43

Git ----> 概念123的相关文章

git概念及工作流程详解

git概念及工作流程详解 既然我们已经把gitlab安装完毕[当然这是非必要条件],我们就可以使用git来管理自己的项目了,前文也多多少少提及到git的基本命令,本文就先简单对比下SVN与git的区别及理解git几个重要概念. 至于什么是git,git的发展历史,网上已经有很多资料,可以自行google或百度. 关于git与svn的区别 这里不针对git与svn的区别详细深究,以便对双方的优缺点了解更多些. 1) 最核心的区别Git是分布式的,而Svn不是分布的. 能理解这点,上手会很容易,声明

git概念和操作流程

git概念和操作流程 enter description here git branch -avv 命令非常重要 enter description here 提交完成后查看版本号信息确定提交成功 enter description here git diff --cached操作查看当前暂存区修改项 ![enter description here](https://raw.githubusercontent.com/miaozhijuan/xiaoshujiang/master/小书匠/15

git概念篇(remote,base,local)的含义

在上一篇解决冲突的时候,我们观察到当我们点击编辑冲突的时候,会出现三个文件,文件结尾分别时remote,local,base,. 这三个参数是什么意思呢? local:指的是我们已经提交成功,但是还未有提交到服务器端的一个状态. base:指的是服务器端现在的base指向. remote:指的是已经提交成功,并且提交到服务器上面,但是这个状态base并未指向remote.

Git基础概念与操作

博文大纲:一.初识Git二.Git的安装配置三.Git工作流程四.Git工作区.暂存区和版本库五.Git基本操作 一.初识Git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持. Git与SVN的区别:1)Git是分布式的,SVN不是:

【转】git 学习笔记( 随时更新中…… 最后更新日期201304281518)--不错

原文网址:http://blog.csdn.net/yasin_lee/article/details/5975070 GIT 是版本管理的未来!   推荐几个GIT教程网站 http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/zh_cn/index.html  http://progit.org/book/zh/   http://www.linuxsir.org/main/doc/git/gittutorcn.htm http:/

《个人-GIT使用方法》

本文章转载于:http://blog.csdn.net/gemmem/article/details/7290125 1. Git概念 1.1. Git库中由三部分组成 Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制..git目录位于工作目录内. 1) 工作目录:用户本地的目录: 2) Index(索引):将工作目录下所有文件(包含子目录)生成快照,存放到一个临时的存储区域,Git 称该区域

git学习第一课

##git管理工具学习(Windows7)###1.下载安装git安装包###2.注册github账号①github.com官网注册并创建项目用户名xiaqiubo项目名xiaoxia②复制https路径https://github.com/xiaqiubo/xiaoxia.git ###3.在本地新建一个测试文件夹git###4.①打开git bash找到并打开git文件夹 ②运行命令git clone https://github.com/xiaqiubo/xiaoxia.git③显示连接完

2016/01/14开始学习git:标签管理:创建标签

标签也是版本库的一个快照指向某个commit的指针(分支可以移动,标签不能移动) 切换到需要打标签的分支上git tag <name>就可以打一个新标签: $ git tag v1.0 git tag查看所有标签: $ git tagv1.0 打之前提交的版本的commit需要当时的commit ID$ git tag v0.9 93ddf60 查看tag$ git tagv0.9v1.0 标签不是按时间顺序列出,而是按字母排序的.可以用git show <tagname>查看标签

git使用具体介绍

1. Git概念 1.1. Git库中由三部分组成 Git 仓库就是那个.git 文件夹,当中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本号控制..git文件夹位于工作文件夹内. 1) 工作文件夹:用户本地的文件夹: 2) Index(索引):将工作文件夹下全部文件(包括子文件夹)生成快照,存放到一个暂时的存储区域,Git 称该区域为索引. 3) 仓库:将索引通过commit命令提交至仓库中,每一次提交都意味着版本号在进行一次更新.