为什么 Git LFS 允许我锁定不可锁定的文件?

Why does Git LFS allow me to lock non-lockable files?

我是 运行 Git LFS 3.1.1。我的 .gitattributes 文件包含以下内容:

*.png filter=lfs diff=lfs merge=lfs -text

然而,当我执行以下操作时(如果重要,Test.png 已经被推送):

>git lfs lock Test.png
Locked Test.png

>git lfs locks
Test.png        MrBoy     ID:2

在这种情况下 git lfs lock 肯定会失败,因为 lockable 不是一个属性?这是limitation/bug还是我的误会?

Git LFS 允许您锁定任何文件。 lockable 属性控制树中的文件是否 read-only 除非在启用该选项时被锁定,仅此而已。

原因是用户有许多不同的工作流程,GitLFS 尽量不过多地规定工作流程。此外,根据设计,Git LFS 服务器可能 运行 独立于对存储库的访问,因此服务器实际上可能知道也可能不知道文件是否可锁定。当然,可以构建一个 确实 具有该知识并拒绝此行为的服务器,但我不知道有任何服务器。