我已按照本教程https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md的1-6个步骤在虚拟机上运行gitlabhq rails服务器,并启动了执行命令sudo -u git -H bundle exec rails s -e production的rails服务器。之后,我使用管理员工具创建了用户,并在该用户下创建了新项目。然后,我试图像往常一样将现有项目推送到此仓库中。但在最后一步中,git push origin master失败并显示以下错误



附加信息:

1)我尚未通过电子邮件激活链接激活用户(项目所有者),因为我尚未在服务器端配置邮递服务,并且在本手册中也没有找到有关如何执行此操作的说明。

2)Gitlab服务器生成提示,提示如何将项目推送到仓库,并且路径中没有repositories/。我的意思是它生成git@mygitlabhost:user/repo.git而不是正确的git@mygitlabhost:repositories/user/repo.git

3)当我尝试调试它时,我在服务器上的repo中打开了pre-receive脚本,并尝试输出变量(共有3个):refs = ARGF.readkey_id = ENV['GL_ID']repo_path = Dir.pwd,发现key_id始终为空。也许问题出在这里...如果是这样,请给我有关如何解决该问题的建议。谢谢

最佳答案

默认情况下,GitLab将master分支标记为protected(为什么要查看https://about.gitlab.com/2014/11/26/keeping-your-code-protected/中的Protecting your code部分)。如果您的情况如此,则可以帮助您:



通过https://gitlab.com/gitlab-com/support-forum/issues/40

对于8.11及更高版本,此处的操作方法:https://docs.gitlab.com/ee/user/project/protected_branches.html#restricting-push-and-merge-access-to-certain-users

08-26 21:05
查看更多