首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

上一次成功清除后重新引入历史记录的项目的BFG Repo Cleaner

BFG Repo Cleaner是一个开源的Git仓库清理工具,用于删除Git仓库中的大文件或敏感信息等,以减小仓库的体积并保护代码的安全性。它可以帮助开发团队在需要清理Git历史记录时,快速而有效地进行操作。

BFG Repo Cleaner的主要特点和优势包括:

  1. 快速而强大:BFG Repo Cleaner使用Java编写,具有高效的处理能力,可以在短时间内处理大型的Git仓库。
  2. 简单易用:BFG Repo Cleaner提供简洁的命令行接口,使用起来非常方便。只需几个简单的命令,就可以完成对Git仓库的清理工作。
  3. 安全可靠:BFG Repo Cleaner会自动备份原始的Git仓库,以防止意外删除或修改。同时,它也会对清理操作进行验证,确保不会对代码的完整性和可用性造成影响。
  4. 多种清理选项:BFG Repo Cleaner支持多种清理选项,包括删除大文件、删除指定文件、删除敏感信息等。用户可以根据实际需求选择适合的清理方式。

BFG Repo Cleaner的应用场景包括但不限于:

  1. 清理大型Git仓库:当Git仓库中存在大量的大文件时,可以使用BFG Repo Cleaner将这些大文件从历史记录中删除,以减小仓库的体积。
  2. 删除敏感信息:在开发过程中,可能会不小心将敏感信息(如密码、密钥等)提交到Git仓库中。使用BFG Repo Cleaner可以快速地将这些敏感信息从历史记录中清除,以保护代码的安全性。
  3. 重置历史记录:当需要重新开始一个项目时,可以使用BFG Repo Cleaner清除Git仓库的历史记录,以便重新引入项目的初始状态。

腾讯云并没有提供类似的产品或服务,但可以通过使用Git命令行工具或其他第三方工具来实现类似的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从仓库中移除敏感信息

要从仓库历史记录中完全删除不需要文件,你可以使用 git filter-branch命令或 BFG Repo-Cleaner。...git filter-branch 命令和 BFG Repo-Cleaner 会重写你版本库历史记录,这会更改你修改现有提交和任何相关提交SHA。更改提交SHA可能会影响仓库中打开请求。...从仓库历史中清除文件 使用 BFG BFG Repo-Cleaner 和 git filter-branch 类似,用于删除不需要文件,是一种更快速、更简单替代方法。...,可以在仓库历史记录中找到它,运行: bfg--replace-text passwords.txt 有关完整使用和下载说明,请参阅BFG Repo-Cleaner文档。...告诉你同事 rebase 而不是 merge 它们创建任何分支,这些分支是从旧(受污染)存储库历史中创建一次合并提交可能会重新引入一些或所有你刚才去除清除问题受污染历史记录

93620

BFG Repo-Cleaner - 快速清除Git提交历史中特定文件

BFG Repo-Cleaner(快速清除Git提交历史中特定文件) 有些时候不小心上传了一些敏感文件(例如密码), 或者不想上传文件(没及时或忘了加到.gitignore里),而且上传文件又特别大时候...在GitHub查看项目 $ bfg --strip-blobs-bigger-than 100M --replace-text banned.txt repo.git git-filter-branch...--mirror标志,所以此推送将更新远程服务器所有引用): $ git push 此时,您已经准备好让每个人都抛弃旧repo副本,重新克隆新原始数据。...BFG这一假设保护了您工作,并让您安心地知道BFG只是仅仅更改您仓库历史记录,而不是干预项目的当前文件。...默认情况下,HEAD分支是受保护,虽然它历史记录将被清除,但是最新提交(这个'技巧')是protected commit(受保护提交),它文件层次结构将不会被改变。

2.9K40
  • Git清理commit中历史提交大文件

    一次删除Git记录中大文件过程:https://www.hollischuang.com/archives/1708 方法二 工具化(自动机枪) 工具名称:BFG 工具地址:https://rtyley.github.io.../bfg-repo-cleaner/ 第一步 下载包文件 直接官网下载即可,bfg-1.13.0.jar 将程序包放到一个文件夹里,为了方便,重命名为bfg.jar 第二步 克隆仓库 clone自己...git repo,使用--mirror参数 git clone --mirror http://192.168.1.199:8099/hcses/hcses-warehouse.git 第三步 清除大文件...-jar bfg.jar --delete-folders 我是文件夹名字 hcses-warehouse.git --no-blob-protection 第四步 清理不需要数据 在完成上面的指令...,实际这些数据/文件并没有被直接删除,这时候需要使用git gc指令来清除

    5.7K10

    如何删除GIT仓库中敏感信息

    其它人都能在历史记录中查询到历史记录配置。所以这要求对Git签名和签入、推送要有高度敬畏之心。 然而根据墨菲定律,可能发生事情一定会发生。...2.3 bfg-删除其它信息 bfg([BFG Repo-Cleaner](https://rtyley.github.io/bfg-repo-cleaner/))是个强大工具,有如下功能: 用于删除文件内敏感信息...工具(需要管理员权限): choco install bfg-repo-cleaner 期间,它会自动下载JRE等组件,执行效果如下(需要按多次Y/Yes): ?...命令执行,可以运行gitk,可以看到历史记录中,东西真的被替换了: ?...3.6 关于--no-blob-protection --no-blob-protection是指将历史中删除记录,放到最新一次未签入修改中: PS C:\Users\sdfly\Desktop\sensitive-repo-demo

    3K61

    防止 Git 泄漏 5 种最佳做法

    攻击者可以在 GitHub 轻松地找到某些具有公司版权代码,而这些代码都是被员工无意中泄露到 Github 。 我建议是,应该将公司项目和个人项目严格区分。...我们需要做是从整个 Git 历史记录中删除所有敏感数据。 在进行任何清理之前请记得进行备份,然后在确认一切正常再删除备份文件。...git clone --mirror git://example.com/need-clean-repo.git 我们需要执行 git filter-branch 命令来从所有分支中删除数据并提交历史记录...除删除文件外,BFG 还可以用于替换文件中机密信息。 BFG 保留最新提交记录。它是用来防止我们犯错误。我们应该显式地删除文件,提交删除,然后清除历史记录以此删除它。...: https://rtyley.github.io/bfg-repo-cleaner/ [11] DMCA: https://help.github.com/en/github/site-policy

    1.9K10

    试试 bfg!删除敏感信息删除大文件一句命令搞定(比官方文档还详细使用说明)

    安装 bfg 传统方式安装(不推荐) 下载安装 Java 运行时 下载安装 bfg.jar 这里并不推荐使用传统方式安装,因为传统方式安装bfg 不会成为你计算机命令。...--private 仅将本次操作视为个人数据修改(这样生成新提交会使用旧提交 Id,其他人拉取仓库时候因为这些 Id 已经存在于是不会更新,以至于此更改实际只影响自己...> file path for Git repository to clean ---- 参考资料 BFG Repo-Cleaner by rtyley 本文会经常更新...,请阅读原文: https://blog.walterlv.com/post/clean-up-git-repo-using-bfg.html ,以避免陈旧错误知识误导,同时有更好阅读体验。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改作品务必以相同许可发布。

    58740

    苹果电脑卸载软件下载,App Cleaner & Uninstaller 8 清理工具

    4.卸载历史:App Cleaner & Uninstaller 8 for Mac还可以记录卸载历史记录,并可以删除这些历史记录,保护用户隐私。...2.更新升级:在更新或升级某些应用程序时,如果出现问题可以使用App Cleaner & Uninstaller 8 for Mac彻底清除应用程序以进行重新安装。...4.清除开机:当Mac电脑开机很慢时,用户可以使用App Cleaner & Uninstaller 8 for Mac来查找并清除不必要开机。...它可以快速查找和卸载Mac电脑各种应用程序,并且可以清除占用硬盘空间和影响系统性能文件。同时,它还可以删除开机和记录卸载历史,保护用户隐私。...无论是维护Mac电脑、更新升级应用程序、释放空间、清除开机还是卸载应用程序,都是一款非常实用软件,绝对是Mac电脑必备工具之一。

    1.1K20

    Git目录为什么这么大

    4个部分: 工作目录快照名称(一个哈希值) 一条评论/注释 提交者信息 父提交哈希值 每一个提交Commit相当于一个Patch应用在之前项目,借此一个项目可以回到任何一次提交时文件状态...gitee官方帮助说明文档Git LFS 操作指南 6、其他解决方案 除了上面的操作,还可以利用更为好用开源效率工具bfg进行清理,参考bfg文档,配置好java环境,操作如下 # 下载封装好jar...包 $ wget https://repo1.maven.org/maven2/com/madgag/bfg/1.13.0/bfg-1.13.0.jar # 克隆时候需要--mirror参数 $ git...-jar bfg.jar --delete-files id_{dsa,rsa} my-repo.git # 删除所有大于50M文件 $ java -jar bfg.jar --strip-blobs-bigger-than...50M my-repo.git # 删除文件夹下所有的文件 $ java -jar bfg.jar --delete-folders doc my-repo.git 7、小结 本文分析了git底层版本控制存储实现

    1.3K10

    Ubuntu系统和隐私清理工具汇总

    Ubuntu Cleaner Ubuntu Cleaner也是一个免费开源,简单易用Ubuntu系统清理器。它释放了磁盘空间并从系统中删除了所有私有信息,例如浏览器缓存。...它还删除:APT缓存,缩略图缓存,未使用包,旧内核以及旧安装程序。这样,它可以保持系统清洁,并帮助重新获得一些磁盘空间。 ?...Sweeper Sweeper是一个简单KDE默认系统清理程序。它用于清除系统不需要用户活动痕迹以保护隐私,并通过删除未使用临时文件来回收磁盘空间。...它可以删除与Web相关跟踪,如cookie,历史记录,缓存; 图像缩略图缓存,还清除应用程序和文档历史记录。 ?...执行上述所有操作,将重新获得驻留在文件系统不必要和不需要文件所占用磁盘空间。 ?

    2.9K01

    简洁平凡PC清理工具——CCleaner

    CCleaner Pro是一款来自国外Piriform team开发系统优化和隐私保护工具。...官方自称"The world`s most popular PC cleaner & optimization tool",世界最流行PC清理与优化工具。...在国内也算是响当当系统优化工具(谁叫同行衬托好呢) ? CCleaner主要用来清除Windows系统不再使用垃圾文件,以腾出更多硬盘空间。它另一大功能是清除使用者上网记录。...体积小,运行速度极快,可以对文件夹、历史记录、回收站等进行垃圾清理,并可对注册表进行垃圾扫描、清理。附带软件卸载功能。 和之前推荐过安全软件——火绒安全软件相配合还是很好用。...❽激活成功。 ? ❾垃圾清理界面。 ? ❿注册表清理界面。 ? ⓫软件卸载,启动管理,浏览器插件,系统还原等工具。 ? ⓬软件基础设置以及高级规则。 ?

    1.7K60

    如何在Ubuntu 16.04Jenkins中设置持续集成管道

    成功添加该用户: $ grep docker /etc/group docker:x:999:sammy,jenkins 为了让Jenkins使用其新成员资格,您需要重新启动该进程: $ sudo...如果您使用是私人存储库,你需要选择一般repo权限,而不是repo子项: [Select scopes] 完成,单击底部生成令牌。...然后,选择Pipeline作为类型: [输入项目名称] 单击底部“ 确定”按钮继续。 在下一个屏幕,检查GitHub项目框。...这将跟踪不同阶段完成测试运行进度: [Stage视图] 在“构建历史记录”框中,单击与构建关联数字以转到构建详细信息页面。...为了验证这一点,在我们GitHub存储库页面中,您可以单击克隆或下载按钮左侧创建新文件按钮: [创建新文件] 在下一页,选择文件名和一些虚拟内容: [添加内容] 完成,单击底部“ 提交新文件

    6K30

    如何在Ubuntu构建Android ROM

    使用screen,您可以从正在运行会话中分离并稍后重新附加到该会话。 开始一个新screen会话。 screen 当您第一次运行屏幕时,您将获得许可协议。按Enter键接受许可证。...从现在开始,如果您SSH连接失败,您长时间运行命令将继续在后台运行。重新建立SSH连接,您将能够通过运行screen -r恢复会话。接下来,让我们安装编译Android所需组件。...第二步 - 安装依赖 AOSP源代码分布在几个不同Git存储库中。为了方便用户下载所有这些存储库,AOSP社区创建了一个名为repo命令行工具。...您可以从AOSP官方代码,标签和构建号页面获取所有可用构建ID和分支名称列表。 此外,您将不需要该项目的代码树整个提交历史记录。您可以通过将历史记录截断为深度1来节省时间和存储空间。...ROM准备就绪,您应该会看到一条消息,说明构建已成功完成。您还可以看到构建的确切持续时间。 ...

    2.5K00

    一文彻底理解Apache Hudi清理服务

    回收空间以控制存储成本 Hudi 提供不同表管理服务来管理数据湖上表数据,其中一服务称为Cleaner(清理服务)。...在这种情况下,根据更新频率,文件版本数可能会无限增长,但如果不需要保留无限历史记录,则必须有一个流程(服务)来回收旧版本数据,这就是 Hudi 清理服务。 2....因此如果最长查询需要 1 小时才能完成,并且每 30 分钟发生一次摄取,则您需要保留自 2*30 = 60(1 小时)以来最后 2 次提交。...配置 可以在 此处[1] 中找到有关所有可能配置详细信息以及默认值。 7. 运行命令 Hudi 清理表服务可以作为单独进程运行,可以与数据摄取一起运行。正如前面提到,它会清除了任何陈旧文件。...未来计划 目前正在进行根据已流逝时间间隔引入清理策略,即无论摄取发生频率如何,都可以保留想要文件版本,可以在 此处[5] 跟踪进度。

    96220

    从9G到0.3G,腾讯会议对他们git库做了什么?

    注意事项:(开发重点关注) 瘦身期间会锁库,必须提前推送代码到远端,否则需要手动同步;锁库期间无法进行 MR,且已创建 MR 会失效;因删除历史记录,会导致本地仓库与远端冲突,请恢复重新 clone...瘦身期间会锁库,必须提前推送代码到远端,否则需要手动同步; 锁库期间无法进行 MR,且已创建 MR 会失效; 因删除历史记录,会导致本地仓库与远端冲突,请恢复重新 clone 代码; 需要查询或处理更老代码...特殊分支处理 说明:以上历史记录裁剪并删除历史提交记录执行完,对于基于截断提交节点前提交节点创建出来分支或者其子分支会出现文件被删除或者整个分支被删除情况。...接下来需要开发重点关注:本地旧仓库已经失效,必须删掉重新 clone 代码【最最重要】未提前push到远端本地新增代码需要手动同步旧未完成MR已经失效,需要关闭重新发起需要查询或处理更老代码,...旧未完成MR已经失效,需要关闭重新发起 需要查询或处理更老代码,需要去备份仓库查看(xxxx/xxxx.git) 10 兜底回滚方案 因为使用了备份仓库,所以不会修改原始仓库,但只有代码管理平台

    93451

    可能每天都会用到Git命令速查表

    要摆脱自一次提交以来所做所有更改,只需运行: git checkout -- . 要仅清除特定文件或目录中更改,请。可以替换为您希望从中删除更改文件和/或目录列表。...或git根据你选择策略对上游/主服务器进行重新设置。...在上一次提交时签出项目的状态 要返回过去查看过去一次给定提交项目状态,请首先运行git log以查看提交历史记录,然后选择要返回提交。 然后,复制其哈希并仅运行git checkout 。...从Git删除文件并修剪其整个历史记录 如果你曾经将敏感数据推送到远程存储库(例如,在GitHub),则不仅需要从Git跟踪中删除文件,还需要删除其整个历史记录。...这在测试中很常见,例如,由于一与你工作完全无关测试而无法通过时。 在这种情况下,要查找"不良"提交,可以使用git bisect。

    1.2K30

    是时候忘掉finalize方法了

    因此,在finalize方法返回,对象不会被轻易收集。相反,垃圾回收器必须重新运行才能确定对象是否真正无法访问,从而决定是否收集。...方法仅仅会被调用一次,所以可以预见再次设置obj为null,obj会被垃圾回收,该语句会被调用 System.out.println("obj is null");...这使得垃圾收集器工作变得更轻松。 PhantomReference另一个优点是,像其他引用类型一样,它可以被显式清除。...这避免了一系列引用处理步骤,让对象在不可达时候立即被收集。 Java 9引入java.lang.ref.Cleaner Java 9引入了java.lang.ref.Cleaner这个类。...Cleaner就是一个ReferenceQueue和PhantomReference封装,使得处理引用变得更加简单了。

    1.8K80

    Git教程

    、目录或工程等内容修改历史,方便查看更改历史记录,备份以便恢复以前版本软件工程技术。...没有进行版本控制或者版本控制本身缺乏正确流程管理,在软件开发过程中将会引入很多问题,如软件代码一致性、软件内容冗余、软件过程事物性、软件开发过程中并发性、软件源代码安全性,以及软件整合等问题...然后一直next就好了 一直Next默认就好了,如果需要设置就要仔细读一下安装界面上选项。 2.2.3、启动Git 安装成功在开始菜单中会有Git,菜单下有3个程序: ?...这个命令也是极具危险性,因为不但会清除工作区中未提交改动,也会清除暂存区中未提交改 动。...---a表示修改之前文件,+++b表示修改文件 #比较暂存区文件与之前已经提交过文件 git diff --cached 也可以把WorkSpace中状态和repo状态进行diff,命令如下

    1.4K20

    不破不立:软件供应链威胁与方案

    王福维:《概念之下开源软件供应链安全真实威胁》 此前,很多对源供应链问题阐述,都会引入DevOps流程,以这个模型来作为软件供应链安全模型,我们认为这样模型实际是有所欠缺。...案例分析 该项目在上游NGINX项目基础引入大量增量feature,代码文件与上游存在普遍差异,无明确基线版本,因此对于上游项目披露漏洞,进行存在性确认,存在一定复杂度。...考虑到NGINX商业版和开源版本,到该项目的内部与开源版本,逐级传递下,安全修复和支持逐步丧失,而再下游fork项目则完全失去了得到安全修复机会。...但近年Git仓库凭证泄漏事件频发,真的只有泄密风险,而不存在篡改和后门植入可能吗? 这里我们借助开源工具BFG repo-cleaner,一定程度上实现了尽量“无感知”git历史篡改。...BFG通过对git历史commit中,敏感信息全量修改,并强制覆盖远端分支数据,来实现保留历史提交信息不变数据变更。

    78150

    Git 中文参考(三)

    否则, git mergetool 将提示用户在自定义工具退出指示分辨率是否成功。 --tool-help 打印可能与--tool一起使用合并工具列表。...--topo-order 在显示所有子项之前不显示父,并避免在多行历史记录中显示混合提交。...-c 使用此选项,合并提交 diff 输出同时显示每个父与合并结果差异,而不是一次显示父和结果之间成对差异。此外,它仅列出从所有父母修改文件。...一次使用remote.<repository>.fetch值可以通过在命令行给出--refmap=<refspec>参数来覆盖。...想象一下,你必须改变你已发表内容。您必须绕过“必须快进”规则才能将最初发布历史记录替换为重新定位历史记录

    17810
    领券