Git 的包文件存储在哪里?

发布于 2024-10-20 01:56:25 字数 438 浏览 2 评论 0原文

我最近很高兴了解了 Git 如何存储其对象:也就是说,如果您正在寻找哈希值为 0f9f33986446bd8e832dac72177295bb75d3ec90 的提交(或树或博客),您将在以下位置找到它:项目的 .git 目录,位于 objects/0f/9f33986446bd8e832dac72177295bb75d3ec90 下。换句话说,哈希值的前两个字母是子目录,其余是文件名。

很高兴看到存储是如何完成的,但后来我在 Git 社区书籍< 中阅读了有关包文件的信息/a>.

我是否正确理解了链接 - 它们不是存储在同一目录结构下吗?如果没有,它们到底存储在哪里?

I was recently excited to learn a bit about how Git stores its objects: namely, if you're looking for a commit (or tree, or blog) with a hash of 0f9f33986446bd8e832dac72177295bb75d3ec90, you will find it in the .git directory of your project, under objects/0f/9f33986446bd8e832dac72177295bb75d3ec90. In other words, the first two letters of the hash are the subdirectory and the rest is the file name.

It's neat to see how the storage is done, but then I read about pack files in the Git Community Book.

Am I understanding the link correctly - are they not stored under this same directory structure? If not, where exactly are they stored?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

木槿暧夏七纪年 2024-10-27 01:56:25

./objects/pack 下(您可能必须启动 git gc)。打包的东西遵循一个相当简洁的启发式,在实践中往往会很好地打包东西。您可以快速搜索包:

cd ${PROJECT}/.git && find . | grep pack

Under ./objects/pack (you may have to fire off a git gc). The packing stuff follows a rather neat heuristic which tend to pack things well in practice. You can quickly search for packs:

cd ${PROJECT}/.git && find . | grep pack
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文