Fac*_*mad 295 branch git-push git-add git-commit gitlab
当我在我的项目中有开发人员访问权限时将代码推送到git时出现问题,但是当我有主访问权限时一切正常.问题出在哪里?以及如何解决它?
错误信息:
错误:您不能将代码推送到此项目的受保护分支.
...
错误:未能推送一些参考...
Hco*_*org 458
没有问题 - 一切都按预期工作.
在GitLab中,可以保护一些分支.默认情况下,只有维护者/所有者用户可以提交受保护的分支(请参阅权限文档).masterbranch默认受保护 - 它强制开发人员在将它们集成到主代码之前发出合并请求以由项目维护者验证.
您可以在项目设置中打开和关闭所选分支上的保护(完全取决于GitLab版本 - 请参阅下面的说明).
在相同的设置页面上,您还可以允许开发人员进入受保护的分支机构.启用此设置后,保护将限制为拒绝需要的操作git push --force(rebase等)
转到项目:"受保护的分支"上的"设置"→"存储库"→"展开"
我不确定何时引入此更改,截图来自10.3版本.
现在,您可以选择允许合并或推入选定分支的人员(例如:您可以完全关闭推送master,强制通过合并请求对分支进行所有更改).或者,您可以单击"取消保护"以完全删除对分支的保护.
与GitLab 9.3类似,但无需单击"展开" - 所有内容都已展开:
转到项目:"设置"→"存储库"→向下滚动到"受保护的分支".
项目:"设置"→"受保护的分支"(如果您至少是给定项目的"主").
然后单击"Unprotect"或"Developers can push":
小智 22
对于GitLab企业版9.3.0
默认情况下,master分支受到保护,所以unprotect :)
1 - 选择你的"项目"
2 - 选择"存储库"
3 - 选择"分支"
4 - 选择"项目设置"
5-In"Protected Branches"点击"展开"
6 - 点击"unprotect"按钮后
Von*_*onC 21
替代解决方案,使用GitLab 13.11(2021 年 4 月)
\n\n\n受保护分支的强制推送选项
\n\xe2\x80\x99 是阻止
\nforce pushGit 存储库的最佳实践,但特殊情况偶尔可能需要它。暂时删除分支保护以进行操作
\nforce push可能并不总是理想的,因为它需要维护者访问权限,并导致分支保护的设置丢失。GitLab 13.11为受保护分支引入了新的允许强制推送设置,允许允许推送列表中的用户强制推送。
\n\n\n
此外,GitLab 16.2(2023 年 7 月)添加了:
\n\n\n允许初始推送到受保护的分支
\n在以前版本的 GitLab 中,当默认分支受到完全保护时,只有项目维护者和所有者才能将初始提交推送到默认分支。
\n这会给创建新项目但无法将初始提交推送到该项目的开发人员带来问题,因为仅存在默认分支。
\n通过初始推送后完全受保护设置,开发人员可以将初始提交推送到存储库的默认分支,但之后无法将任何提交推送到默认分支。与分支受到完全保护时类似,项目维护者始终可以推送到默认分支,但没有人可以强制推送。
\n\n\n
当您出现错误消息 remote: You are not allowed to push code to this project.并且 The requested URL returned error: 403
尝试设置 git 用户,
要在推送代码之前提示用户名,请使用
$ git config --local credential.helper ""
Run Code Online (Sandbox Code Playgroud)
输入用户名和密码并成功登录后
$ git push
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
234593 次 |
| 最近记录: |