问题标签 [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.
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字节?大小的数量级差异一定意味着大小数字仅指增量?
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-pack
andgit rev-list
命令后,我发现了一个.tar
大约 118MB 的文件。我根本不需要它在我的回购中。它需要永远摧毁。
但是当我试图找出哪些提交使用了该文件时,我什么也没得到:
这是否意味着该文件不在存储库历史记录中?如果是这种情况,我可以离开它还是当我这样做时它仍然会被推上去git push
?
如果是这种情况,我该如何摆脱它。
git - 如何读取“git verify-pack -v”的输出
我git verify-pack -v pack_file.pack
用来获取该包中包含的所有对象的列表。
输出类似于:
我怎样才能阅读这些行?特别是如果我采取以下行:
“blob”后面的数字 ( 3086 1405 21773 1
) 和行尾的哈希 ( 85e0feee1d0cf66a2cdc469df1ea7d10a4b717d2
) 是多少?
谢谢你。
git - 在 git 存储库的历史记录中查找大文件失败
由于历史上有一些大文件,我的存储库非常大。为了查找大文件并删除它们,我正在执行:
结果是这样的:
为了找到最大文件的路径,我运行:
结果是:
但是,当我git log
在这个文件上运行时:
没有显示日志。此外,每当我尝试通过以下方式从历史记录中删除二进制文件时:
我收到:
有任何想法吗?