`
zhangyaochun
  • 浏览: 2608676 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

git如何存储对象

    博客分类:
  • git
git 
阅读更多

 

    所有的对象都以SHA值为索引用gzip格式压缩存储,每一个对象包含对象类型大小内容

 

 

    git有两种对象

 

  1. 松散对象

     磁盘上一个存储压缩数据的文件,每一个对象被写入一个单独文件中

 

    2. 打包对象

 

     节省空间,git只会保存第二个文件中改变了的部分,然后用一个指针指向相似的那个文件

 

   

 

    http://gitbook.liuhui998.com/7_1.html

分享到:
评论

相关推荐

    第一课:Git基本概念与核心命令掌握1

    - **Git存储对象**:Git中的每个文件、目录甚至整个项目状态都表示为一个唯一的哈希值,存储在一个键值对数据库中。 - **Git树对象**:树对象代表文件系统中的目录结构,存储了文件名和对应的 blob 对象(文件内容...

    Gitpython是一个用于与Git存储库进行交互的Python库。

    它提供了Git对象的抽象,以便于存储库数据,并添加到您的数据库要使用纯Python实现更直接地访问Git存储库,或者更快,但更多的资源密集的Git命令实现。对象数据库实现针对处理大量对象和大型数据集进行了优化,这是...

    深入浅出Git

    `git commit`则将暂存区的更改保存为一个新的commit;`git branch`和`git merge`用于管理和合并分支;`git log`用于查看提交历史;`git diff`用于比较不同版本的差异;`git checkout`用于切换分支或恢复文件到特定...

    git零基础实战

    - **四大Git对象**:Blob对象(二进制大对象)、Tree对象(目录树对象)、Commit对象(提交对象)、Tag对象(标签对象)。 - **文件管理** - 添加文件到版本库:使用`git add <file>`。 - 提交更改到版本库:...

    Git LFS是用于使用Git管理大型文件的命令行扩展和规范 这是3.3.0的MacOS Intel安装包

    1. **对象存储**:Git LFS将大文件的内容存储为“对象”,这些对象在远程服务器上保存,而不是在本地Git仓库中。这减少了本地仓库的大小,加快了克隆和拉取的速度。 2. **指针文件**:在本地Git仓库中,每个大型...

    学习git和gitbash使用的一些详细操作

    3. 仓库(Repository):是Git用来保存项目的元数据和对象数据库的地方,有时也指工作目录中的.git目录。 然后我们来学习一些Git的基本操作: - 初始化仓库:通过`git init`命令在当前目录创建一个新的git仓库。 - ...

    git magic 开始git吧

    - **状态保存**:了解如何在Git中保存工作状态,包括添加、删除和重命名文件。 - **撤销与重做**:掌握撤销错误更改及恢复工作的方法,保持代码库的清洁和有序。 - **变更日志生成**:学会创建清晰的变更日志,...

    Git 自下而上方法pdf

    - **Blob对象**:Blob(Binary Large Object)对象是Git中最基本的对象类型之一,用于存储文件内容。每个Blob对象都有一个SHA-1哈希值,该哈希值是根据文件内容计算得出的。这意味着如果文件内容发生变化,Blob对象...

    git文件存放结构思维导图

    在Git中,文件的存储结构是通过多种类型的对象来实现的,包括Blob、Tree、Commit等。下面将详细介绍这些对象的类型和它们在Git文件存放结构中的角色。 Blob对象 Blob对象是Git中最基本的对象类型,它只存储一个文件...

    GitHack-master.zip_D1DL_githack_githack-master_happened93l_objec

    3. Git的对象存储机制,包括文件内容的zlib压缩。 4. 如何解析Git仓库以获取和还原源代码文件。 5. 使用这些信息可能涉及的安全或分析工具,如GitHack,可能用于研究或审计Git仓库。 这些内容对于理解和操作Git仓库...

    自己编写Git:使用.NET Core的Git的简单实现

    Git存储的是文件内容的快照,而非差异。每次提交时,Git会创建一个新的树对象,该对象包含了文件系统中每个文件的SHA-1哈希值。这些树对象链接起来形成提交对象,而提交对象又包含了对父提交的引用,从而构建出版本...

    git2.31.1安装包

    比如,`git clone`用于复制远程仓库到本地,`git add`用于将更改添加到暂存区,`git commit`用于保存更改到本地仓库,`git push`则用于将本地更改推送到远程仓库。此外,`git pull`用于获取并合并远程仓库的更新,而...

    关于git的手册总结简单的git介绍,git的相关指令

    版本库(或称为Git仓库)是所有Git元数据和历史记录的存储位置,包括`.git`目录和对象库,对象库中存储了所有版本的文件内容。 当对工作区中的文件进行修改或添加新文件时,可以使用`git add`命令将这些更改添加到...

    git的详细使用教程.pdf

    执行此命令后,Git将在当前目录下创建一个名为`.git`的隐藏目录,用于存储仓库的所有元数据和对象数据库。 2. **配置Git**:使用`git config`命令配置Git用户的信息,如提交人姓名和邮箱。这些信息非常重要,因为...

    git尚硅谷笔记.pdf

    - **分支机制**:Git中的分支本质上是简单的指向提交对象的可变指针。创建新分支时,实际上是在创建一个指向当前提交的新指针。 - **合并**:合并分支时,Git会自动尝试合并两个分支之间的差异,并可能需要人工解决...

    git-2.16.2

    2. **版本管理**:Git通过快照式版本管理方式保存项目的状态,而非像许多其他系统那样跟踪文件的差异。每次提交都会创建一个唯一的哈希值,确保了版本的唯一性和完整性。 3. **分支管理**:Git的分支系统极其强大且...

    Git.docx

    其中,HEAD指向当前分支,config文件存储项目配置,hooks目录包含自定义脚本,index文件(也称为暂存区)记录了待提交的更改,objects目录存储所有Git对象,logs记录分支历史,refs目录保存分支和tag的引用。...

    Git权威指南.txt

    - Git 使用对象数据库存储所有版本信息,包括提交、树和 blob 对象。 - **6.2 SHA1哈希值的原理** - SHA1 是一种加密散列算法,Git 使用它来标识每一个版本的对象,确保数据的唯一性和完整性。 - **6.3 数字表示...

Global site tag (gtag.js) - Google Analytics