如何修复:无法将一些参考推送到 gitlab?

Dav*_*ose 12 git gitlab

我尝试将项目推送到GitLab的存储库,但出现错误。

To https://gitlab.com/codersclan-interviews-frontend/codersclan-david-rose.git
 ! [remote rejected] test -> test (pre-receive hook declined)
error: failed to push some refs to 'https://gitlab.com/codersclan-interviews-frontend/codersclan-david-rose.git' 
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

Git 存储库不是我创建的,它是客户端创建的。他让我把代码推送到我自己创建的分支上,完成后告诉他。

为了完成这项任务,我喜欢遵循

git clone https://gitlab.com/codersclan-interviews-frontend/codersclan-david-rose.git
git checkout -b 'test'
git branch test
add project
git add .
git commit -m "..."
git push origin test
Run Code Online (Sandbox Code Playgroud)

本以为推送结果会成功,但是却出现了上述错误。

小智 6

由于分支名称受保护,也可能会发生这种情况。尝试将分支名称更改为远程存储库上不受保护的名称。hotfix、development 等可能是受保护的名称。

  • +1 提及受保护的分支。与 Github 不同,Gitlab 可以防止您在分支受到保护时进行强制推送等操作。主分支默认受到保护。 (2认同)

tor*_*rek 5

\n

我该如何修复[表单错误pre-receive hook declined]?

\n

[The] Git 存储库不是我创建的,它是客户端创建的。

\n
\n

一般来说, 无法修复此问题。只有存储库的所有者才能执行此操作,因为预接收挂钩是他们控制的,而您则不能。

\n

预接收钩子基本上是一个验证器,一种推送请求的警察。他\xe2\x80\x94如果我们可以将这个钩子拟人化\xe2\x80\x94以他告诉的任何方式检查你的推送请求。通常,他会查看您建议添加到存储库的每个提交,但没有任何信息或提示来说明此预接收挂钩被告知要执行哪种检查,我们\xe2\x80\x94 人们读你的问题\xe2\x80\x94无法猜测他可能在做什么检查。就此而言,你也不能:你只能知道告诉你的内容。

\n

那么:他有告诉你什么吗?他是否说过:“我不喜欢你的承诺,因为 _____”?(填空)如果有,请留意该公告。但如果他什么也没告诉你,那么我们也不能告诉你。这不是你的错:任何编写此类自定义 GitLab 挂钩的人都必须告诉用户为什么拒绝提交,否则每个人都一无所知。

\n

另请参阅https://docs.gitlab.com/ee/administration/server_hooks.html(但您必须是存储库的管理员才能解决问题)。

\n

  • 即使我是管理员,我也遇到这个问题... (3认同)