【发布时间】:2015-02-11 07:16:51
【问题描述】:
我在尝试将现有的本地存储库放到我的服务器上进行共享时遇到了一个非常奇怪的问题。我遵循了本教程:
http://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server
在本地,我使用带有 Putty 的 Git Extensions(在 Windows 上),将远程指定为 git@my_server.com。
但是,当我尝试推送本地存储库时,我得到:
error: insufficient permission for adding an object to repository database ./objects
我以“git”用户身份登录到服务器,然后前往存储库检查问题。
所有文件权限都是正确的(属于git),我可以创建新文件。
试图找出问题所在,我查看了系统身份验证日志:
Feb 11 07:35:45 MY_SERVER sshd[22334]: pam_unix(sshd:session): session opened for user my_user by (uid=0)
Feb 11 07:35:47 MY_SERVER sshd[22334]: pam_unix(sshd:session): session closed for user my_user
所以看起来 Git Extensions 正在尝试使用其他用户 (my_user) 登录系统,然后出现权限问题。当我为git 生成新的私钥并使用此密钥进行身份验证时,这种情况甚至会持续存在,因此它甚至不应该像my_user 那样记录。
现在我经常将 my_user 与 Putty 一起使用,但不知道 Git Extensions 最终会如何使用它。
此外,git 和 my_user 在同一个组中,并且存储库在组成员之间共享(git config core.sharedRepository),所以这甚至不应该是一个问题。
我也不明白git如何以my_user登录。我一开始使用了my_users 私钥,但后来替换了它。所以 Git Extensions 必须将旧设置存储在某个地方。
我试图取消设置凭证助手(Win Store),但这并没有改变任何东西。
如果您知道出了什么问题,请告诉我。
【问题讨论】:
-
谢谢!但正如我所写:我已经正确设置了文件权限(并对其进行了测试)并设置了
git config core.sharedRepository。所以这个问题是不同的。
标签: git git-extensions