为什么 git 创建只读(444)文件?

问题描述 投票:0回答:1

使用共享存储库(core.sharedRepository=group),我们在 git 创建只读(权限 444)文件时遇到了一些问题。无论我摆弄哪个 git 配置项,当我们推送时,似乎总是在服务器端创建一些只读元数据。这些文件位于

.git/objects/
的裸存储库中。

您真的不再需要写入这些文件(无论您执行什么 git 操作)?它们可能代表提交增量,因此确实不应该更改,但我希望有人可以澄清这一点。

对于好奇者来说,相关行看起来是 git 中builtin/index-pack.c 的 856 和 867。

linux git
1个回答
20
投票

这些文件是对象数据库的一部分,实际上是只读的。无论您使用 Git 做什么,一旦创建了特定对象,就无法更改其内容

请注意,如果您取消提交并在其位置创建一个新提交,您将创建一个带有 new 标识符和 new 内容的 new 对象。 Git 最终将执行垃圾收集以删除旧的、未引用的对象。

© www.soinside.com 2019 - 2024. All rights reserved.