使用共享仓库(core.sharedRepository = group),我们遇到了一些git创建只读(权限444)文件的问题.无论我转向哪个git配置项,我们推送时似乎总是在服务器端创建一些只读的元数据.这些文件位于.git /(或裸仓库中的对象/)中.
你真的永远不需要再次写这些文件(无论你执行什么git操作)?它们可能代表提交增量,所以真的不应该改变,但我希望有人可以澄清这一点.
对于好奇,相关的行看起来是git中的builtin/index-pack.c的856和867.
Gre*_*ill 16
这些文件是对象数据库的一部分,它实际上是只读的.无论你使用Git做什么,一旦创建了特定对象,你就无法改变它们的内容.
请注意,如果您撤回提交并在其位置创建一个新提交,您将创建一个带有新标识符和新内容的新对象.Git最终将执行其垃圾收集以删除旧的,未引用的对象.