【问题标题】:Pushing a new repo to Gitosis向 Gitosis 推送一个新的仓库
【发布时间】:2011-01-13 20:16:32
【问题描述】:

我刚刚建立了一个 gitosis 服务器。一切顺利。我已经能够在我的笔记本电脑上克隆 gitosis-admin 项目,配置 gitconf,添加用户并推送所有内容。

但是当我尝试推送新的存储库时出现访问错误。我已经尝试了所有方法,到处寻找,但我无法解决这个问题!

git init
git remote add origin git@YOUR_SERVER_HOSTNAME:proj.git
git push origin master
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly

我读到我可能会从 /home/git/.ssh 获得授权密钥,但这个文件不存在。

有人知道我该如何解决这个问题吗? 格雷格

[编辑] 我的 gitosis.conf

[gitosis]

[group gitosis-admin]
writable = gitosis-admin
members = gregorymarcilhacy@MacBook-Pro-de-Gregory-Marcilhacy.local greg

[group proj]
writable = proj
members = gregorymarcilhacy@MacBook-Pro-de-Gregory-Marcilhacy.local greg

这是我在存储库中的内容

greg@server:/home/git/repositories$ ls -l
total 4
drwxr-x--- 8 git git 4096 2011-01-13 18:58 gitosis-admin.git

输出表单日志:

git clone git@git.flatfolio.com:flatfolio.git
Initialized empty Git repository in /private/tmp/flatfolio/.git/
DEBUG:gitosis.serve.main:Got command "git-upload-pack 'flatfolio.git'"
DEBUG:gitosis.access.haveAccess:Access check for 'greg' as 'writable' on 'flatfolio.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'flatfolio.git', new value 'flatfolio'
DEBUG:gitosis.group.getMembership:found 'greg' in 'gitosis-admin'
DEBUG:gitosis.group.getMembership:found 'greg' in 'flatfolio'
DEBUG:gitosis.access.haveAccess:Access ok for 'greg' as 'writable' on 'flatfolio'
DEBUG:gitosis.access.haveAccess:Using prefix 'repositories' for 'flatfolio'
DEBUG:gitosis.serve.main:Serving git-upload-pack 'repositories/flatfolio.git'
warning: You appear to have cloned an empty repository.

这很好用。 但是当我推动它失败时:s

git push origin master:refs/heads/master
DEBUG:gitosis.serve.main:Got command "git-receive-pack 'flatfolio.git'"
DEBUG:gitosis.access.haveAccess:Access check for 'greg' as 'writable' on 'flatfolio.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'flatfolio.git', new value 'flatfolio'
DEBUG:gitosis.group.getMembership:found 'greg' in 'gitosis-admin'
DEBUG:gitosis.group.getMembership:found 'greg' in 'flatfolio'
DEBUG:gitosis.access.haveAccess:Access ok for 'greg' as 'writable' on 'flatfolio'
DEBUG:gitosis.access.haveAccess:Using prefix 'repositories' for 'flatfolio'
DEBUG:gitosis.serve.main:Serving git-receive-pack 'repositories/flatfolio.git'
error: src refspec master does not match any.
error: failed to push some refs to 'git@git.flatfolio.com:flatfolio.git'

【问题讨论】:

  • 您是否在本地存储库中提交了任何内容?从这里的情况来看,它看起来不像。
  • 我忘记粘贴了,但我确实推送了一些东西
  • 你有什么 git 版本?在 1.6.2 之前使用 git 克隆空的 git 存储库可能会出现问题:stackoverflow.com/questions/1298190/…
  • 我安装了最新的 gti 版本 1.7.x 还是一样的问题...
  • 克隆推送时粘贴了输出日志

标签: git gitosis


【解决方案1】:

除了其他人所说的:

您应该检查服务器上的更新后挂钩 - 它是可执行的,还是maybe a dead link due to some distribution update issues

【讨论】:

    【解决方案2】:

    如果你设法推送了 gitosis-admin,那么你的公钥就可以正常工作。

    看来我用git clone git@YOUR_SERVER_HOSTNAME:proj.git克隆了一个空的仓库,所以不需要先初始化。

    【讨论】:

    • 我已经尝试了所有这些解决方案,但我仍然处于同一点......:/
    • 您能否也发布 gitosis.conf 的内容和ls -l /srv/gitosis/repositories 的结果或您的存储库位于服务器上的任何位置。
    • 我已经用你的配置尝试了你的命令,但它们真的不起作用。然后我尝试了克隆,它成功了。
    • 即使我正在克隆 repo,我在克隆过程中也会收到相同的消息错误:/
    【解决方案3】:

    您尝试克隆/获取/推送此 URL:

    git clone git@git.flatfolio.com:flatfolio.git
    

    但是你是在哪里定义的呢?

    应该是:

    [group flatfolio]
    writable = flatfolio
    members = gregorymarcilhacy@MacBook-Pro-de-Gregory-Marcilhacy.local greg
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-12
      • 1970-01-01
      • 2021-05-15
      • 2016-06-26
      • 1970-01-01
      • 2016-02-01
      相关资源
      最近更新 更多