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

[远程拒绝]master -> master(预接收钩子拒绝)

额外的信息:

1)我还没有通过电子邮件激活链接激活用户(项目所有者),因为我还没有在服务器端配置post服务,我没有找到如何在本手册中做到这一点的说明。

2) Gitlab服务器生成提示如何推送项目到repo,没有repositories/ in路径。我的意思是它生成git@mygitlabhost:user/repo。Git代替git@mygitlabhost:repositories/user/repo。Git是正确的。

3)当我试图调试它时,我在服务器上的repo中打开了预接收脚本,并尝试输出变量(有3个):refs = ARGF。read, key_id = ENV['GL_ID'] and repo_path = Dir。PWD和发现,key_id总是空的。也许问题就在这里……如果是这样,请给我建议如何解决。谢谢


当前回答

我有一段时间遇到了同样的问题,在我的情况下,我在一个组中工作,克隆了存储库,但在一个单独的存储库中创建了它。发生了两件事

1.—私有创建存储库。 2.—存储库未被分配远程上传所需的权限。

您可以检查是否创建了一个新的公共存储库,并更改远程存储库的路径,这样就可以测试它。

在我的情况下,因为我在一个组中工作,只需更改我的url到创建者库,就是这样,推送,它工作得很完美,我希望我能帮助你。

git remote set-url origin https://github.com// <——URL

Git push -u origin main

其他回答

解决方案:

你需要删除。lock文件,yarn。锁或包锁。Json文件,为安全起见,您可以将此文件移动到另一个文件夹 然后,git添加。 Git commit -m 'update' Git push heroku main

转到项目设置—> Hooks—>(下)预接收Hooks

禁用 Cp要求在提交时引用问题

似乎问题出在一些服务上,比如sidekiq。执行sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production将输出config中的所有问题。

我有一段时间遇到了同样的问题,在我的情况下,我在一个组中工作,克隆了存储库,但在一个单独的存储库中创建了它。发生了两件事

1.—私有创建存储库。 2.—存储库未被分配远程上传所需的权限。

您可以检查是否创建了一个新的公共存储库,并更改远程存储库的路径,这样就可以测试它。

在我的情况下,因为我在一个组中工作,只需更改我的url到创建者库,就是这样,推送,它工作得很完美,我希望我能帮助你。

git remote set-url origin https://github.com// <——URL

Git push -u origin main

我经历过这种情况,只是因为AWS破损。

要排除这种情况,只需检查消息是否包含类似的内容

<head><title>504网关</title></head>

所以,如果你之前没有做过任何可疑的事情,只是开始看到这个-这可能只是服务器超时。