You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab仓库体积过大清理后强制推送报错failed to push some refs求助

报错You are not allowed to force push code to a protected branch的核心原因是GitLab默认对master、main等核心分支开启保护规则,禁止强制推送操作,按以下流程处理即可:

步骤1:临时调整分支保护规则

  1. 登录GitLab对应项目后台,进入「设置」-「仓库」页面
  2. 定位到「受保护的分支」模块,找到master分支,可选择两种调整方案:
    • 方案一:点击「取消保护」,完成推送后再重新开启保护
    • 方案二:点击「编辑」,勾选「允许强制推送」选项,同时确认你的账号在允许推送的用户/角色列表中

步骤2:重新执行强制推送操作

回到本地裸仓库目录,依次执行以下命令:

# 强制推送所有分支的清理后历史
git push origin --force 'refs/heads/*'
# 强制推送所有标签(避免标签关联的历史大文件未被清理)
git push origin --force 'refs/tags/*'

步骤3:触发GitLab远程仓库空间回收

强制推送完成后,远程仓库的实际存储占用不会立刻下降,需要手动触发垃圾回收:

  1. 回到GitLab项目「设置」-「仓库」页面
  2. 找到「仓库清理」模块,点击「触发清理」按钮
  3. 等待系统后台清理完成,通常耗时10-30分钟,清理完成后即可看到仓库存储占用恢复到12M左右的正常水平

步骤4:恢复分支保护规则

确认仓库可正常推送、存储占用正常后,回到「受保护的分支」模块,重新开启master分支的保护规则,关闭「允许强制推送」选项,避免后续出现误操作。

补充说明

  • 若你没有项目管理员权限,需联系项目所有者协助调整分支保护规则和触发仓库清理
  • 操作前请告知所有项目协作者,同步你清理后的仓库版本,避免后续提交出现历史冲突

内容的提问来源于stack exchange,提问作者user12587364

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 02:45:07