我遇到了一个非常奇怪的问题,试图将现有的本地存储库放到我的服务器上进行共享。我遵循本教程: http://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server 本地,我使用Git Extensions(在Windows上)和Putty,指定远程为[email protected]_server.com
。Git扩展:在推送时使用错误的用户
然而,当我试图把我的本地库,我得到:
error: insufficient permission for adding an object to repository database ./objects
我登录到服务器作为用户“混帐”,去检查问题库。 所有的文件权限都是正确的(属于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的扩展正试图使用一个不同的用户(my_user
)登录到系统,然后有一些问题,权限。当我为git
生成一个新的私钥并使用此密钥进行身份验证时,这甚至是持久的,因此它甚至不应该能够记录为my_user
。
现在我经常使用my_user
和Putty,但是看不到它最终会被Git扩展使用。 此外,git
和my_user
位于同一组中,并且存储库由组成员共享(git config core.sharedRepository
),所以这甚至不应该成为问题。 我也不明白git如何登录为my_user
。我在开始时使用了my_users
私钥,但随后将其替换。所以Git扩展必须将旧的设置存储在某个地方。 我试图取消设置证书助手(赢商店”,但没有任何改变。
如果您有任何想法了什么错误,请让我知道。
的可能重复的[GIT中推错误:权限不足以用于将对象添加到数据库储存库(http://stackoverflow.com/questions/6448242/git-push-error-insufficient-permission- for-adding-an-object-to-repository-datab) – Makoto 2015-02-11 07:24:42
谢谢!但正如我写的:我已经正确设置了文件权限(并测试了它)并设置了'git config core.sharedRepository'。所以这个问题是不同的。 – Makx 2015-02-11 07:29:20