问题标签 [git-verify-pack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1839 浏览

git - Git:git verify-pack 返回的对象“大小”的含义

git verify-pack命令有一个选项,它为包-v文件中找到的每个对象输出大量诊断信息。然而,size一个 deltified 对象的字段返回的值与我模糊的期望不匹配——我认为它会类似于 Git 对象的未压缩“真实”大小?这个字段的实际含义是什么?

具体来说,我有一个 Git 包文件,其中包含一个大对象:

(即对象大小约为58MB,这确实是我检查文件时看到的)

但是,为此对象返回的行git verify-pack -v是这样的:

(此处提供了验证包输出的完整副本)

如您所见(在阅读文档git verify-pack),该对象存储为deltafied,列的定义如下:

所以这个对象的“大小”是568352(而“打包文件中的大小”是 529608)——但这意味着什么,因为实际对象大小是61464170字节?大小的数量级差异一定意味着大小数字仅指增量?

0 投票
1 回答
306 浏览

git - 缩小 Git Repo - 数据包中的对象,而不是提交中的对象

我正在尝试缩小大约 2GB 的 Git 存储库。

我正在关注 ProGit 书中第 9 章(9.7)的“删除对象”部分:http: //git-scm.com/book/en/Git-Internals-Maintenance-and-Data-Recovery

运行git gc,然后是git verify-packandgit rev-list命令后,我发现了一个.tar大约 118MB 的文件。我根本不需要它在我的回购中。它需要永远摧毁。

但是当我试图找出哪些提交使用了该文件时,我什么也没得到:

这是否意味着该文件不在存储库历史记录中?如果是这种情况,我可以离开它还是当我这样做时它仍然会被推上去git push

如果是这种情况,我该如何摆脱它。

0 投票
1 回答
352 浏览

git - 如何读取“git verify-pack -v”的输出

git verify-pack -v pack_file.pack用来获取该包中包含的所有对象的列表。

输出类似于:

我怎样才能阅读这些行?特别是如果我采取以下行:

“blob”后面的数字 ( 3086 1405 21773 1) 和行尾的哈希 ( 85e0feee1d0cf66a2cdc469df1ea7d10a4b717d2) 是多少?

谢谢你。

0 投票
1 回答
1125 浏览

git - 在 git 存储库的历史记录中查找大文件失败

由于历史上有一些大文件,我的存储库非常大。为了查找大文件并删除它们,我正在执行:

结果是这样的:

为了找到最大文件的路径,我运行:

结果是:

但是,当我git log在这个文件上运行时:

没有显示日志。此外,每当我尝试通过以下方式从历史记录中删除二进制文件时:

我收到:

有任何想法吗?