如何强制推送到Gitlab

qaz*_*wsx 6 git git-push gitlab

git push --force gitlab master                                                                                  
Enumerating objects: 50, done.
Counting objects: 100% (50/50), done.
Delta compression using up to 8 threads
Compressing objects: 100% (29/29), done.
Writing objects: 100% (40/40), 12.22 KiB | 4.07 MiB/s, done.
Total 40 (delta 26), reused 18 (delta 11)
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
To gitlab.com:xxx/yyyy.git
 ! [remote rejected]     master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@gitlab.com:xxx/yyyy.git'
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能将提交推送到Gitlab?我使用了多个遥控器,其他遥控器都可以,我可以完成

git push --force some_other_remote master      
Run Code Online (Sandbox Code Playgroud)

Eri*_*ung 9

有关处理受保护分支机构官方文档中

  1. 导航到项目的“设置”?资料库
  2. 滚动查找“受保护的分支”部分。
  3. 从“分支”下拉菜单中,选择要保护的分支,然后单击“保护”。

按照上述步骤操作,您将看到与下面类似的框。

图片来源:https : //docs.gitlab.com/ee/user/project/protected_branches.html

在那里,您可以单击Unprotect要强制推送到的分支的橙色按钮,即master

如果您不想浏览导航栏,也可以填写以下URL模板:

https://gitlab.com/<USERNAME>/<PROJECTNAME>/settings/repository#js-protected-branches-settings
Run Code Online (Sandbox Code Playgroud)

并更换<USERNAME><PROJECTNAME>分别与特定的用户名和项目名称。

更多帮助:

  • 您不必取消保护它,只需打开“允许强制推送”开关即可。 (2认同)

Ali*_*ddi 7

正如 GitLab文档所述:\n默认情况下,受保护的分支会执行四件简单的事情:

\n
    \n
  • 它可以防止除具有维护者权限的用户之外的任何人创建它(如果尚未创建)。
  • \n
  • 它可以阻止除具有“允许”权限的用户之外的所有人的推送。
  • \n
  • 它可以防止任何人强行推向分支。<-----
  • \n
  • 它可以防止任何人删除分支。
  • \n
\n

所以你需要暂时取消对分支的保护。最后,将其恢复到原来的状态。

\n

为此:

\n
    \n
  1. 导航到您的项目\xe2\x80\x99s 设置\xe2\x9e\x94 存储库
  2. \n
  3. 滚动找到受保护的分支部分。
  4. \n
  5. 您想要强制推送的分支不受保护
  6. \n
  7. 强力推
  8. \n
  9. 将所有设置恢复到项目\xe2\x80\x99s 设置\xe2\x9e\x94 存储库 (gitlab)
  10. \n
\n


qaz*_*wsx 3

  1. 暂时取消对 master 分支的保护。
  2. 像以前一样推动。
  3. 然后恢复对分支的保护。