我已经设置了自己的服务器(在家里),我通过主机上的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
答案 0 :(得分:36)
我遇到了这个问题,因为我将master
作为受保护的分支
一旦我不受保护分支,我就能推得很好
答案 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