【发布时间】:2018-01-06 03:42:30
【问题描述】:
我遇到了 git 错误
unable to write sha1 filename
.git/objects/42/e819f886bf31b67c42249a0eff8e8b16cf7611: Permission denied.
每次我拉取 Git 存储库并修改我同事的一些文件,然后将它们推送到源主服务器时,都会发生这种情况。如果按照我的方式,我的同事也会有同样的错误。我试图初始化 git repos,但上述操作再次发生错误。 (这个错误以前从未发生过)。
我还尝试了其他成员在此处建议的方法,例如将 auth 更改为 777,或以管理员身份打开 git bash,但都是徒劳的。我们使用 TortoiseGit,git 服务器建立在 NAS Synology 之上。
【问题讨论】:
-
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。
-
我相信一个 Git 服务器是通过 SSH 在你自己的用户名下运行的,所以尝试 SSH 到服务器获取一个 shell,然后尝试在你的用户帐户下写入一个文件
touch .git/objects/foo。这会创造吗?如果是,请删除它。如果不是,这些文件有哪些用户/组所有权?您可能必须使用chmod或chown重置您的文件/目录权限、用户或组,并且所需命令的确切顺序取决于很多事情。如果这些文件上的用户/组与您的用户无关,777的权限可能没有任何好处。
标签: git