2015-02-11 33 views
2

我遇到了一个非常奇怪的问题,试图将现有的本地存储库放到我的服务器上进行共享。我遵循本教程: http://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server 本地,我使用Git Extensions(在Windows上)和Putty,指定远程为[email protected]_server.comGit扩展:在推送时使用错误的用户

然而,当我试图把我的本地库,我得到:

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扩展使用。 此外,gitmy_user位于同一组中,并且存储库由组成员共享(git config core.sharedRepository),所以这甚至不应该成为问题。 我也不明白git如何登录为my_user。我在开始时使用了my_users私钥,但随后将其替换。所以Git扩展必须将旧的设置存储在某个地方。 我试图取消设置证书助手(赢商店”,但没有任何改变。

如果您有任何想法了什么错误,请让我知道。

+0

的可能重复的[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

+0

谢谢!但正如我写的:我已经正确设置了文件权限(并测试了它)并设置了'git config core.sharedRepository'。所以这个问题是不同的。 – Makx 2015-02-11 07:29:20

回答

-1

我可以涉及到这个问题!这对我来说太:

remote: error: insufficient permission for adding an object to repository database ./objects 
remote: fatal: failed to write object 

我读过,这是因为该业务系统的权限系统的限制

如果我没有记错,一个具有通过使用“chmod来更改文件权限。 '

此链接(Git Push Error: insufficient permission for adding an object to repository database)为我节省了很多时间!它涵盖更多/其他细节。

Goodluck。

-Joey

+0

下次您觉得可以通过此处的其他问题回答问题时,请将其标记为重复。在重新发布链接或在此处重新发布其内容方面几乎没有什么收获(当然,不是你做了后者)。 – Makoto 2015-02-11 07:25:21

+0

谢谢!但正如我写的:在我的情况下,所有的文件权限是正确的。这似乎是一个登录问题。 – Makx 2015-02-11 07:26:58