【问题标题】:Git Extensions: using wrong user on pushGit 扩展:在推送时使用错误的用户
【发布时间】: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 最终会如何使用它。 此外,gitmy_user 在同一个组中,并且存储库在组成员之间共享(git config core.sharedRepository),所以这甚至不应该是一个问题。 我也不明白git如何以my_user登录。我一开始使用了my_users 私钥,但后来替换了它。所以 Git Extensions 必须将旧设置存储在某个地方。 我试图取消设置凭证助手(Win Store),但这并没有改变任何东西。

如果您知道出了什么问题,请告诉我。

【问题讨论】:

标签: git git-extensions


【解决方案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) 为我节省了很多时间!它涵盖了更多/其他细节。

祝你好运。

-乔伊

【讨论】:

  • 下次觉得一个问题可以在这里用另一个问题回答时,请标记为重复。在这里重新发布链接或重新发布其内容几乎没有什么好处(当然,不是你做了后者)。
  • 谢谢!但正如我所写:在我的情况下,所有文件权限都是正确的。好像是登录问题。
猜你喜欢
  • 2014-03-04
  • 2011-09-02
  • 2014-07-12
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多