当前位置: 首页 > 编程笔记 >

使用BFG移除git库中的大文件或污点提交

高自怡
2023-03-14
本文向大家介绍使用BFG移除git库中的大文件或污点提交,包括了使用BFG移除git库中的大文件或污点提交的使用技巧和注意事项,需要的朋友参考一下

Git中有时会不小心提交大文件或密码到repo中,然而使用git-filter-branch清理以往的全部提交是非常复杂的。
今天介绍一个好用的工具BFG Repo-Cleaner,可以方便清理错误的二进制文件或密码文件提交。

以下命令中所有的 bfg 是 java -jar bfg.jar 的alias。

1. 克隆仓库

git clone --mirror git@github.com:OpenFibers/openfibers.github.com.git

2 移除目标文件

然后就可以执行下面的任意一个或者多个操作。

从历史纪录中删除所有文件名是 id_rsa 或 id_dsa 的文件:

$ bfg --delete-files id_{dsa,rsa}  my-repo.git

从历史纪录中删除所有大于1M的二进制文件 :

$ bfg --strip-blobs-bigger-than 1M  my-repo.git

从文件中删除所有列出的密码:

$ bfg --replace-text passwords.txt  my-repo.git

删除.git目录。

$ bfg --delete-folders .git --delete-files .git  --no-blob-protection  my-repo.git

3 推送

 

$ cd my-repo.git
$ git reflog expire --expire=now --all && git gc --prune=now --aggressive 
$ git push
 类似资料:
  • 本文向大家介绍unity3d 在Unity中使用Git大文件存储(LFS),包括了unity3d 在Unity中使用Git大文件存储(LFS)的使用技巧和注意事项,需要的朋友参考一下 示例 前言 Git可以直接使用视频游戏开发。然而,主要警告是,从长期来看,对大型(> 5 MB)媒体文件进行版本控制可能会成为问题,因为提交历史记录膨胀-Git最初并不是最初用于对二进制文件进行版本控制的。 好消息是

  • 本文向大家介绍Git 提交特定文件中的更改,包括了Git 提交特定文件中的更改的使用技巧和注意事项,需要的朋友参考一下 示例 您可以使用以下命令提交对特定文件的更改,并跳过暂存文件git add: 或者,您可以首先暂存文件: 稍后再提交:            

  • 本文向大家介绍从git仓库中删除.idea文件夹的小妙招,包括了从git仓库中删除.idea文件夹的小妙招的使用技巧和注意事项,需要的朋友参考一下 如果不配置.gitignore的文件,带push代码的时候就会把一写不必要的文件push到远程仓库,如.idea文件。如果不小心出现此文件在远程仓库可以通过一下步骤delete此文件: 1.配置.gitignore文件(新建/编辑) 2.将.gitig

  • 本文向大家介绍Git如何删除历史记录中的大文件详解,包括了Git如何删除历史记录中的大文件详解的使用技巧和注意事项,需要的朋友参考一下 前言 Git 作为一个分布式的版本管理工具,代码仓库中是会保存所有历史记录的。虽然,Git 的 .gitignore 文件里可以定义一些忽略文件的规则,但是,在我们提交代码的过程中,总会不小心误提一些没用的文件,如果文件中存在大文件,就会导致:就算我们把它删了重新