gitlab中的repo删除特定commit

最近代码提交的时候发现一个问题

我有一些缓存代码,推送到gitlab上,分支已经push-f 了,但是其他用户还是可以通过commitid来访问代码。然后我尝试了:

  1. 通过 Web 界面(需要 Maintainer 权限)

    Settings → General Settings → Advanced → Run housekeeping

  2. 本地GIT操作

sh 复制代码
# 安装 git-filter-repo
pip3 install git-filter-repo

# 从历史中删除特定文件
git filter-repo --path <file-path> --invert-paths

# 或删除包含敏感信息的 commit
git filter-repo --commit-callback '
  if commit.original_id in [b"<commit-id-1>", b"<commit-id-2>"]:
    commit.skip()
'

# 强制推送所有分支
git push origin --force --all
git push origin --force --tags

发现都没有生效,特别是Web 界面,操作2次之后,会提示

Somebody already triggered housekeeping for this resource in the past 1440 minutes

看起来原因是:

  • housekeeping 是资源密集型操作(CPU、磁盘 I/O)
  • 频繁执行可能影响 GitLab 服务器性能
  • 防止误操作或恶意行为

默认限制:

  • 手动触发间隔: 24 小时
  • 自动触发周期: 每 1000 次推送

我等了差不多1天,但是发现代码还是可以访问,最后是删除了repo,重新创建并上传

复制代码
Settings → General Settings → Advanced → Delete this project
相关推荐
东北甜妹5 小时前
DevOps 和 Git,Gitlab
git·gitlab·devops
qq_白羊座5 小时前
GitLab CI + Jenkins 双流水线模式Jenkins 端配置
ci/cd·gitlab·jenkins
qq_白羊座6 小时前
GitLab CI 与 Jenkins
ci/cd·gitlab·jenkins
lisanmengmeng6 小时前
gitlab 配置的jenkins 链接错误
运维·gitlab·jenkins
qq_356408661 天前
Kubernetes 部署 GitLab Runner 及 Java CI/CD 实践指南
java·kubernetes·gitlab
Niliuershangba2 天前
ChestnutCMS 栗子内容管理系统:从入门到模板开发实战
java·git·开源·gitlab·github·开源软件·gitcode
heimeiyingwang4 天前
【架构实战】GitOps实践:让运维更优雅
架构·gitlab·jenkins
中国lanwp5 天前
GitLab 按访问IP动态切换项目下载/克隆地址原理与配置说明
网络协议·tcp/ip·gitlab
heimeiyingwang5 天前
【架构实战】Jenkins+GitLab CI/CD:持续集成与持续部署实践
架构·gitlab·jenkins
ASKED_20196 天前
GitLab CI|CD 配置笔记
笔记·ci/cd·gitlab