Git 目录权限始终为 000

Git Directory Permissions Always 000

通过摆弄 Git 对象,我发现树对象中的树条目始终具有这些权限。

040000 DirEntry hash

04 表示它是一个目录,但是权限是 000。这是否意味着 Git 不存储树权限,或者 Unix 是这样工作的?

是的。 Git 不存储树对象的权限,即使目录 Unix 文件系统确实有它们。对于文件,git 只存储可执行位 (+x)。假定所有文件都是可读和可写的。这意味着您将看到的 blob 模式只有 100644(不可执行)和 100755(可执行)。

有关详细信息,请参见例如what git stores in the index file.

上的文档