我遇到了git错误
unable to write sha1 filename
.git/objects/42/e819f886bf31b67c42249a0eff8e8b16cf7611: Permission denied.每次我拉出Git repos并修改我同事的一些文件,然后将它们推送到源主站时,都会发生这种情况。如果按我说的做,我的同事也会犯同样的错误。我尝试初始化git repos,但是上面的操作再次出现错误。(这个错误以前从未发生过)。
我还尝试了其他方法,如将auth更改为777,或使用管理员身份打开git bash,但都是徒劳的。我们使用TortoiseGit,git服务器是基于NAS构建的。
发布于 2020-11-22 23:47:32
我通过以下方式解决了这个问题: git服务器上的用户不仅必须是组git的成员-假设git是拥有存储库的服务器上的用户-他们还必须是提交到存储库的每个其他用户组的成员。
这是因为“对象”下的文件夹属于第一个需要它们的人。一段时间之后,可能会发生这样的文件夹可能被另一个用户重用的情况。如果其他用户不是最初创建该文件夹的组的成员,则他们可能被拒绝对该文件夹执行任何操作。
在我的例子中,对象下面的文件夹用两个十六进制字母命名,从01到fa。
https://stackoverflow.com/questions/45401126
复制相似问题