作者:薇薇VS安安北_396 | 来源:互联网 | 2023-05-23 15:40
我已经在虚拟机上运行了gitlabhq rails服务器,按照本教程https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md的 1-6步执行并启动rails server execution 命令sudo -u git -H bundle exec rails s -e production
.之后我创建了用户,使用管理工具并在此用户下创建了新项目.然后我一直试图将现有项目推送到这个仓库.但在最后一步,git push origin master
失败了错误
[远程拒绝]主 - >主(预接收挂钩拒绝)
附加信息:
1)我没有通过电子邮件激活链接激活用户(项目所有者),因为我没有在服务器端配置后期服务,我在本手册中没有找到如何操作的说明.
2)Gitlab服务器生成如何将项目推送到repo并且没有repositories/
路径的提示.我的意思是它生成git@mygitlabhost:user/repo.git
而不是git@mygitlabhost:repositories/user/repo.git
正确的.
3)当我试图调试它,我打开pre-receive
里面回购脚本在服务器上,并试图输出变量(有其中3) refs = ARGF.read
,key_id = ENV['GL_ID']
并repo_path = Dir.pwd
发现,该KEY_ID总是空的.也许问题就在这里......如果是这样,请给我一些如何解决这个问题的建议.谢谢
1> Max Vyazniko..:
在默认情况下标记GitLab master
分支为protected
(见部分Protecting your code
在https://about.gitlab.com/2014/11/26/keeping-your-code-protected/为什么).如果是这样,那么这可以帮助:
打开项目>设置[>存储库选项卡]并转到"受保护的分支",选择:"开发人员可以推送"并再试一次.
通过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
UI已经改变了一点:在项目"设置"之后,单击"存储库"选项卡.然后"受保护的分支"
由于`GitLab 8.11`的选项有所改变,请查看详细信息[这里](https://docs.gitlab.com/ee/user/project/protected_branches.html)
2> Maverick09..:
解决了本地机器中的问题:
A.首先,确保使用正确的登录详细信息连接到Bitbucket Server(即属于您的用户名/密码/ SSH密钥)
B.然后,确保在本地Git配置中正确设置了名称/电子邮件地址:为您尝试推送的帐户设置本地Git配置(检查断言您是提交文件的人)*请注意,这是区分大小写的,包括姓名和电子邮件地址*它也是空间敏感的 - 某些公司帐户的名称中有额外的空格/字符,例如." Contractor/ space space(LDN)
".您必须在配置中包含与Bitbucket Server相同数量的空格.如果卡住,请在记事本中检查
C.如果您使用的是错误的帐户,只需切换您的帐户凭据(用户名/密码/ SSH密钥),然后再次尝试推送.
D.否则,如果您的本地配置不正确,则需要对其进行修改
对于MAC
open -a TextEdit.app ~/.gitconfig
注意:您必须修复您尝试推送的旧提交.
修改你的上次提交:
> git commit --amend --reset-author
尝试重新推送您的提交:
> git push
3> Hroft..:
似乎问题出在某些服务上,比如sidekiq.运行sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
输出config的所有问题.