我正在努力推动回购的主分支,但我没有这样做,因为它受到保护。
我试图查看项目设置,并没有看到受保护分支的任何选项。我能看到的唯一选择是成员。
remote: GitLab: You are not allowed to push code to protected branches on this project.
To git@gitlab.ins.risk.regn.net:cmd/release.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@gitlab.ins.risk.regn.net:cmd/release.git'
我的回购只有一个分支,到目前为止没有任何内容
我确实看到了我的其他Repos的受保护的分支选项,但不是这个特定的
这是一个没有内容的新回购,只有默认分支
我获得了master
的许可
不幸的是,我无法以某种方式上传图片。
请建议如何将代码推送到主分支。
答案 0 :(得分:5)
到目前为止没有内容
这意味着还没有more_people = realloc(people, count * sizeof(Person));
if (!more_people) {
// handle failure
} else {
people = more_people;
}
分支可以保护,因为空仓库没有。{/ p>
要"Enable/disable branch protection",你需要成为GitLab项目的主人或所有者(你是)。
确保:
git push -u origin master
; master
确实引用了正确的仓库(origin
); git remote -v
); ssh -T git@gitlab.ins.risk.regn.net
群组的成员。答案 1 :(得分:3)
这意味着您可能拥有master
分支,但它在项目设置中受到保护。见:
how to fix: you are not allowed to push code to protected branches on this project或https://gitlab.com/gitlab-com/support-forum/issues/207。
要访问项目设置并取消保护分支,您需要拥有足够的权限。
答案 2 :(得分:3)
12/17/2018
git push
:“错误:无法将某些引用推送到” git push -f
:“远程拒绝” Gitlab - Repository - Branches
Gitlab - Settings - Repository - Protected Branches - Unprotect
git push -f
答案 3 :(得分:1)
设置>回购>扩展..为我工作 很少有分支机构可以得到保证。请记住,主分支是默认受保护的。当然,主服务器将能够提交到受保护的分支。
答案 4 :(得分:0)
项目:"设置" - > "受保护的分支" (如果你至少是“给定项目的主人”)。
然后点击" Unprotect"或者"开发人员可以推送"
答案 5 :(得分:0)
在GitLab中,可以保护某些分支。默认情况下,只有“ master”用户可以提交到受保护的分支,并且master分支默认情况下受保护。
您可以在“项目设置”中打开和关闭选定分支的保护(转到项目:“设置”->“存储库”->“受保护分支”上的“扩展”)。
在同一设置页面上,您还可以允许开发人员推入受保护的分支。启用此设置后,保护将仅限于拒绝需要git push --force
的操作答案 6 :(得分:0)
我遇到了类似的问题-一个项目的CI / CD管道/作业正在抱怨它无法从自托管的GitLab实例上的私有存储库的受保护分支中提取代码。
在我的情况下,由于我在GitLab中拥有完整的管理特权,因此我能够使用git来操作存储库并直接提取代码。最后,事实证明,由于我的用户不是项目组的直接成员,因此不允许GitLab Runner克隆存储库。
答案 7 :(得分:0)
我知道它有点旧,但对我来说,远程设置了一个带前缀的用户,这是一个 devops 部署的,所以我不得不更改远程 url 以不使用它设置的用户名,或者您可以更改给你的。
答案 8 :(得分:-1)
也许master分支打开了保护。您需要选择开发者来推送保护分支设置。