ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git基本原理

2019-08-10 11:37:46  阅读:160  来源: 互联网

标签:文件 git 快照 基本原理 保存 Git 数据


为什么学习git原理?

学习git的基本原理有利于理解git命令背后的运行原理,
需要将脑子里面之前关于其他版本管理工具比如CVS、Subversion、Perforce的知识暂时忘掉,因为它们与git的使用是不太相同的

Git与其他版本管理工具的区别

其他版本工具比如VCS认为它们存储的信息是由一系列的文件组成,以及每个文件上做出的改动,
在这里插入图片描述
Git存储数据时认为数据更像是一系列的微型文件系统的快照,每次提交数据或者保存状态到git上时,Git会给所有文件生成快照,并为每个文件保存一个指向快照的引用,。
为了提高效率,git不会重复存储文件,它会保存一个指向前面已经保存的文件的链接。
Git认为数据更像是快照的数据流。

在这里插入图片描述

使用Git的优势

几乎所有的操作都在本地进行
所有数据都在本地,不需要从其他主机取数据,CVCS的大部分操作会受到网络延迟的影响,而Git则因为在本地取数据,显得更快。

实例:

  1. 如果你想浏览项目的历史,Git不需要去服务器去找项目的历史数据,本地数据库就存储了这些数据。
  2. 如果你想查看现在的项目和一个月前的项目有什么区别,Git会直接从本地数据库读取两个版本的数据,并进行比对,而不需要从远程服务器拉取一个月前的项目数据,再进行对比。

Git保证数据完整性

  1. 所有文件保存在Git上都有一个校验码,这意味着你不可能绕过Git去修改文件中的数据,这是Git最基本的功能,这保证了你在传输数据的过程中不会因为丢失数据而没有察觉,Git会检测到这一点。

  2. Git使用SHA-1hash算法来计算校验码,它是由40位字符的字符串组成(0-9 a-f)。
    例如24b9da6552252987aa493b52f8696cd6d3b00373

  3. Git在数据库中保存文件时保存的是内容的hash值而不是文件的名字。

Git的三个状态

Modified、staged、committed

  1. Modified:修改了文件内容但是还没有提交到数据库中
  2. Staged:已经在当前版本标记了修改的文件,等待提交。
  3. Committed:数据已经很安全的保存到本地数据库中。
    在这里插入图片描述

标签:文件,git,快照,基本原理,保存,Git,数据
来源: https://blog.csdn.net/tugangkai/article/details/99061991

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有