Gitlab推。您不能访问master

时间:2014-05-31 17:19:12

标签: git gitlab

我已经设置了自己的服务器(在家里),我通过主机上的putty到达它。

安装并配置了Gitlab,我可以访问gitlab并登录。 但是当我尝试将文件(通过HTTP)推送到我自己的项目时,我得到了这样的信息:

POST git-receive-pack (381 bytes)
remote: GitLab: You are not allowed to access master![K
remote: error: hook declined to update refs/heads/master[K
To http://myserver.com/root/push2jump.git
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'http://myserver.com/root/push2jump.git'

我正在使用HTTP而不是SSH,因为我得到了#34;访问被拒绝",所以基本上都没有工作。

当我跑步时

sudo bundle exec rake gitlab:check RAILS_ENV=production

它告诉我Sidekiq脚本没有运行(我似乎无法修复,不确定它是否与此问题有关) 当然,它告诉我存储库是空的。其余的似乎很好。

我检查了

.ssh/authorized_keys

这似乎也是正确的,密钥与我保存的密钥相同。

我在gitlab-shell / config.yml中的repos_path看起来不错,不使用符号链接:

repos_path: /home/git/repositories/

我已经运行了官方的gitlab安装指南。

任何人都可以帮我解决这个问题吗? 提前致谢

更新

System information
System:         Ubuntu 12.04
Current User:   git
Using RVM:      no
Ruby Version:   2.0.0p481
Gem Version:    2.0.14
Bundler Version:1.6.2
Rake Version:   10.3.1
Sidekiq Version:2.17.0

GitLab information
Version:        6.9.2
Revision:       e46b644
Directory:      /home/git/gitlab
DB Adapter:     mysql2
URL:            ***
HTTP Clone URL: ***/some-project.git
SSH Clone URL:  ***:some-project.git
Using LDAP:     no
Using Omniauth: no

GitLab Shell
Version:        1.9.4
Repositories:   /home/git/repositories/
Hooks:          /home/git/gitlab-shell/hooks/
Git:            /usr/local/bin/git

5 个答案:

答案 0 :(得分:36)

我遇到了这个问题,因为我将master作为受保护的分支

Protect branch won't accept push

一旦我不受保护分支,我就能推得很好

答案 1 :(得分:0)

杀死它并再次使用Gitlab的Omnibus版本。

唯一需要在64位Ubuntu上运行的东西 - 不确定为什么他们没有32位,但你就是。

我已经完成了安装 - 重新安装 - 尝试再次地狱,直到我使用Omnibus版本。

两个"恼人的"事情:Gitlab的Omnibus安装使用 Nginx Web服务器而不是Apache(但考虑到Nginx没有为每个连接打开一个新进程,这是有充分理由的)...并且它使用 PostgreSQL 而不是MySQL作为其数据库。对于家庭/家庭办公室使用,当然你可以在同一台机器上安装PostgreSQL和MySQL。不太明显的是如何运行Apache和Nginx,或者真的,如何让Nginx在维护Gitlab的同时运行多个虚拟服务器。

答案 2 :(得分:0)

我有一个非常相似的症状,并通过更改项目成员资格解决了问题。推送尝试后我从TurtoiseGit收到的错误消息是:

  

git.exe push --progress" origin"主:主

     

计算对象:14,完成。 Delta压缩最多使用4个线程。   压缩对象:100%(7/7),完成。书写对象:100%(8/8),   857字节| 0字节/秒,完成。总计8(delta 3),重用0(delta 0)

     

remote:GitLab:你不能访问master!远程:错误:   hook拒绝更新refs / heads / master

     

到git@gitlab.int.mycompany.com:datascience/ compliance.git! [远程   拒绝]主人 - > master(hook拒绝)错误:无法推送一些   参考' git@gitlab.int.mycompany.com:datascience/ compliance.git'

     

git没有干净地退出(退出代码1)(33181 ms @ 6/27/2014 9:50:32 AM)

在gitlab管理页面中,我发现我不是我试图推送的项目的成员。我是该项目小组的成员,但不是该项目。

在我将自己添加为项目成员后,我的推送成功而没有错误。

答案 3 :(得分:0)

我拥有的存储库出现You are not allowed to access master!错误。所有受保护的分支设置均未更改。问题似乎是在执行GitLab服务器备份后立即发生的;可能服务器处于不良状态。在检查了我的GitLab设置后,我又能够再次推送:

gitlab-rake gitlab:check

GitLab's troubleshooting guide。在GitLab 7.4.3上观察到了这个问题。


最初我认为这是受保护的分支机构问题。我失去了对我是其所有者的存储库分支的访问权似乎很奇怪。禁用分支上的保护后,仍然会导致相同的访问问题。恢复受保护的分支使我处于相同的状态。我执行了GitLab检查(如上所述),似乎解决了这个问题。

答案 4 :(得分:0)

在我的情况下,这是因为独角兽的端口被另一个java进程占用,添加这一行 独角兽['port'] = 8090 到/etc/gitlab/gitlab.rb并运行: sudo gitlab-ctl reconfigure