美文网首页
10.7 Git 内部原理 - 《维护与数据恢复》

10.7 Git 内部原理 - 《维护与数据恢复》

作者: 金樽明月 | 来源:发表于2021-03-07 16:24 被阅读0次

维护

gc 将会做的另一件事是打包你的引用到一个单独的文件。

假设:

$ find .git/refs -type f
.git/refs/heads/experiment
.git/refs/heads/master
.git/refs/tags/v1.0
.git/refs/tags/v1.1

如果你执行了 git gc 命令,refs 目录中将不会再有这些文件。 为了保证效率 Git 会将它们移动到名为 .git/packed-refs 的文件中,就像这样:

$ cat .git/packed-refs
# pack-refs with: peeled fully-peeled
cac0cab538b970a37ea1e769cbbde608743bc96d     refs/heads/experiment
ab1afef80fac8e34258ff41fc1b867c702daa24b     refs/heads/master
cac0cab538b970a37ea1e769cbbde608743bc96d     refs/tags/v1.0
9585191f37f7b0fb9444f35a9bf50de191beadc2     refs/tags/v1.1
^1a410efbd13591db07496601ebc7a059dd55cfe9

如果你更新了引用,Git 并不会修改这个文件,而是向 refs/heads 创建一个新的文件。 为了获得指定引用的正确 SHA-1 值,Git 会首先在 refs 目录中查找指定的引用,然后再到 packed-refs 文件中查找。 所以,如果你在 refs 目录中找不到一个引用,那么它或许在 packed-refs 文件中。

注意这个文件的最后一行,它会以 ^ 开头。 这个符号表示它上一行的标签是附注标签,^ 所在的那一行是附注标签指向的那个提交。

数据恢复

主要命令 git reflog | grep 'first commit'

移除对象

Git 有很多很棒的功能,但是其中一个特性会导致问题,git clone 会下载整个项目的历史,包括每一个文件的每一个版本。
如果所有的东西都是源代码那么这很好,因为 Git 被高度优化来有效地存储这种数据。 然而,如果某个人在之前向项目添加了一个大小特别大的文件,即使你将这个文件从项目中移除了,每次克隆还是都要强制的下载这个大文件。 之所以会产生这个问题,是因为这个文件在历史中是存在的,它会永远在那里。
这个很麻烦,对一般项目实际意义不大,不记录了。

相关文章

  • 10.7 Git 内部原理 - 《维护与数据恢复》

    维护 gc 将会做的另一件事是打包你的引用到一个单独的文件。 假设: 如果你执行了 git gc 命令,refs ...

  • git理解

    内部原理实例git命令 内部原理 当git init 时,Git 会创建一个 .git 目录。 这个目录包含了几乎...

  • Git 内部原理

    Git 内部原理

  • Git内部原理

    Git是一个快速,可扩展的分布式版本控制系统。从根本上来说,Git是一个内容寻址(content-addressa...

  • serdes中CDR结构与原理

    CDR(clock data recovery)时钟数据恢复,其原理为利用已经嵌入时钟的数据恢复出时钟和与该时钟同...

  • git

    git本地结构 git的代码托管中心 GitHub 码云 代码托管中心维护远程库 》团队内部协作 ...

  • Git 学习笔记(CheatSheet)(二)

    Git 内部实现原理剖析[https://www.jianshu.com/p/8154ac47d406] Git ...

  • 二、Git内部原理

    1 前言 Git使用比较灵活,达到相同结果有多种方式。 靠记忆不同场景下的命令组合,会停留在“知其然,不知其所以然...

  • Git内部原理 - 1

    Git 内部 Git是什么呢?不言而喻,官方回答git是分布式软件管理系统, 如果我们往从计算机学科这些想想,我觉...

  • Git版本控制学习笔记(一)

    参考文章:1、Git内部原理http://blog.jobbole.com/26209/2、廖雪峰Git教程htt...

网友评论

      本文标题:10.7 Git 内部原理 - 《维护与数据恢复》

      本文链接:https://www.haomeiwen.com/subject/dhtcqltx.html