git push在本地gitlab repo上失败了

时间:2013-11-07 15:54:26

标签: git ssh gitlab git-push

  1. 我在/home/myuser/gitlab安装了Gitlab。
    1. 我创建了一个代表testing
    2. 按照说明,我添加了一个远程git@localhost:root/testing.git
  2. 这是我的/home/myhome/.ssh/config文件

    Host mylocalhost
    Hostname localhost
    User git
    IdentityFile /home/myuser/.ssh/id_rsa
    

    当我运行ssh mylocalhost时,我收到了正确的消息Welcome to GitLab, Administrator!。但是,我得到以下输入

    debug2: channel 0: rcvd eof
    debug2: channel 0: output open -> drain
    debug2: channel 0: obuf empty
    debug2: channel 0: close_write
    debug2: channel 0: output drain -> closed
    debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
    debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
    debug2: channel 0: rcvd eow
    debug2: channel 0: close_read
    debug2: channel 0: input open -> closed
    debug2: channel 0: rcvd close
    debug3: channel 0: will not send data after close
    debug2: channel 0: almost dead
    debug2: channel 0: gc: notify user
    debug2: channel 0: gc: user detached
    debug2: channel 0: send close
    debug2: channel 0: is dead
    debug2: channel 0: garbage collecting
    debug1: channel 0: free: client-session, nchannels 1
    debug3: channel 0: status: The following connections are open:
      #0 client-session (t4 r0 i3/0 o3/0 fd -1/-1 cc -1)
    
    Transferred: sent 3284, received 3480 bytes, in 0.4 seconds
    Bytes per second: sent 7501.3, received 7949.0
    debug1: Exit status 0` 
    

    并在我的GitLab日志中

    Started GET "/api/v3/internal/allowed?key_id=4&action=git-receive-pack&ref=_any&project=testing" for 127.0.0.1 at 2013-11-07 16:48:00 +0100
    

    顺便说一下,每次运行git命令时,都会收到消息

    ssh: Could not resolve hostname mylocalhost: nodename nor servname provided, or not known
    fatal: Could not read from remote repository.
    

    有人有想法吗?

    更新:运行gitlab-shell/bin/check输出

    Check GitLab API access: OK
    Check directories and files: 
        /Users/git/repositories: OK
    

    bundle exec rake gitlab:env:info RAILS_ENV=production输出

    System information
    System:     Mac OS X 10.9
    Current User:   myname
    Using RVM:  yes
    RVM Version:    1.21.7
    Ruby Version:   2.0.0p195
    Gem Version:    2.0.3
    Bundler Version:1.3.5
    Rake Version:   10.1.0
    
    GitLab information
    Version:    6.2.0.pre
    Revision:   ea72f4f
    Directory:  /Users/git/gitlab
    DB Adapter: mysql2
    URL:        http://localhost
    HTTP Clone URL: http://localhost/some-project.git
    SSH Clone URL:  git@localhost:some-project.git
    Using LDAP: no
    Using Omniauth: no
    
    GitLab Shell
    Version:    1.7.1
    Repositories:   /Users/git/repositories/
    Hooks:      /Users/git/gitlab-shell/hooks/
    Git:        /usr/bin/git
    

    我的gitlab.yml似乎正确

1 个答案:

答案 0 :(得分:1)

  

运行gitlab服务时,我得到GitLab Unicorn网络服务器没有运行   带有pid 66802的GitLab Sidekiq作业调度员正在运行   但是运行bundle exec rake gitlab:check RAILS_ENV=production,我得到Checking Sidekiq ... Running? ... no

确保您在每个步骤(su(根)和su git之间)与正确的用户进行了安装和检查

OP Newben confirms

  

当我支票给我时,sidekiq确实在跑步。

关于回购:

  

我更改了远程来源网址 git remote set-url origin git@localhost:repositories/root/#{myrepo}.git ,现在可以了!

这来自于 GitLab 6.0

带来的新限制
  

从现在开始,组不仅仅是项目的目录。它还允许您添加用户。将用户添加到组后 - 它会自动访问组内的所有现有项目和新项目   您还可以拥有可以管理成员/项目的组的多个所有者。

另请参阅“What are the differences between gitlab team and gitlab group?”。

  

随着这个GitLab变得更加面向群体。这就是我们不再支持全局命名空间的原因。 项目只能是群组或用户的一部分

项目(您的myrepo.git)只能是群组或用户的一部分(此处为用户帐户root)。