问题标签 [bfg-repo-cleaner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
538 浏览

git - 无法通过 bfg 工具将 git repo 转换为使用大文件支持 (lfs)

我正在尝试将现有的 git repo 转换为使用 git lfs。我正在关注Atlassian 的食谱,在这里使用 BFG 工具:https ://rtyley.github.io/bfg-repo-cleaner/

问题是,当我发出建议的命令进行实际转换时,它几乎立即结束,没有完成任何实际工作:

我在 Windows 10 顺便说一句。使用 git 版本2.9.2.windows.1

有任何想法吗?

0 投票
1 回答
4957 浏览

git - 如何找到具有已知哈希的对象的 git 对象 ID

我正在使用bfg来清理我的 git repo。要获取要删除的大文件列表,我使用此脚本。但是对于某些文件,我只想从存储库中删除它们的特定版本。

bfg 可以选择“使用指定的 Git 对象 id 剥离 blob”。当我运行上面的脚本时,列表中的每个对象都会给我一个哈希值。鉴于该哈希,我如何找出该特定对象的 git 对象 ID,以便我可以使用 bfg 删除它?

0 投票
1 回答
121 浏览

git - 清理大文件的git repo

我向我的 git repo 提交了 600 多个大型(ish)jpg,现在可以看到我的方式错误。我已使用 BFG 删除它们,并且我的本地存储库不再显示它们。我的本地 git GUI 没有显示它们。如果我在 Finder 中检查 repo 的大小,它会显示 119Mb。

但是...... BitBucket 上的 repo 大小仍然显示为 1.6Gb。如果我选择从 BB 下载 repo,那么我会下载一个 119Mb 的文件。我还运行了以下命令:

while read -r largefile; do echo $largefile | awk '{printf "%s %s ", $1, $3 ; system("git rev-list --all --objects | grep " $1 " | cut -d \" \" -f 2-")}'; done <<< "$(git rev-list --all --objects | awk '{print $1}' | git cat-file --batch-check | sort -k3nr | head -n 20)"

这显示了我认为已被 BFG 清除的大量大文件。

任何想法我如何解决它。我不完全精通 Git,所以请放轻松!:-)

0 投票
1 回答
498 浏览

bfg-repo-cleaner - 使用 bfg repo 清理器从多个分支中删除多个文件

我想使用 bfg repo 清理器从多个分支中删除多个文件。谁能建议如何做到这一点。我可以使用命令从单个分支中删除单个文件bfg --delete-files filename my-repo.git。请提供如何执行此操作的步骤。

0 投票
1 回答
3986 浏览

git - Git:使用 bfg (beg-repo-cleaner) 删除特定文件

我试图从 Git 历史记录中永久删除一个文件,因为它包含敏感数据。

为此,我正在使用bfghttps ://rtyley.github.io/bfg-repo-cleaner/

该文件称为app/config.json.

但是config.json,我不想删除其他文件夹中调用的其他文件。

我尝试了以下方法:

但我收到错误消息:

如何仅删除此特定文件?

0 投票
1 回答
770 浏览

java - 使用 BFG Repo Cleaner 删除嵌套文件夹

有一个名为 docs 的大目录,其中包含许多嵌套目录,其中一些目录内部还有两层目录,我想完全摆脱它们。运行java -jar ~/bfg-1.12.15.jar --delete-folders docs实际上使 repo 稍微大了一点,尽管它似乎执行得很好。它列出了脏提交和修改提交、更改的对象,并记录了一份报告。

是它没有删除嵌套目录的问题,只有顶层目录吗?它可以递归删除东西吗?

0 投票
2 回答
120 浏览

git - 排除在 GitHub 上的 git 存储库中删除大文件的问题

我有一个名为的项目geoplot,它在 Python 中进行地理空间绘图。它的代码通过gitGitHub 分发。你可以在这里查看

作为这个包的开发过程的一部分,我上传并存储在geoplotrepo 中的一个名为的文件夹data/,其中包含大量各种格式的数据文件。这些数据文件用于填充免费示例库中的示例。

但是,这些文件会使整个存储库大小膨胀到大约 150 MiB(问题)。这显然太过分了,现在是我摆脱它们的时候了。

问题是我不仅需要从当前删除这些文件HEAD,还需要从整个git历史记录中删除这些文件。我尝试了一种手动方法git rebase,但没有奏效。然后我尝试了该BFG Repo-Cleaner工具,正如关于此事的规范 SO 问题中所建议的那样。

BFG 把这些文件删掉了——它们不再存在于历史上的任何地方。但是,repo 的大小(如运行时所见https://github.com/ResidentMario/geoplot.git)根本没有下降!

这是我尝试过的(减去打印输出):

完整的打印输出在 GitHub 上的一个问题中

如果有的话,我做错了什么?我如何诊断和清除这个浪费空间的来源?

0 投票
1 回答
314 浏览

git - 使用 BFG 清理臃肿的 Git 存储库

我的公司网站有一个 Git 存储库,其中包含一些包含大量二进制文件(PDF、MP3 等)的目录。自然地,这导致了一个非常大的回购,这使得克隆它非常不切实际。在许多分支上都有大量提交。

我已经确定BFG Repo-Cleaner(它似乎简化了这个过程)作为我想从我的 repo 中删除这些二进制文件的方法。但是,我不明白在运行 BFG 之前从存储库的 HEAD 中删除这些文件的正确过程(假设您最近的提交已从历史记录中删除了所有要清除的文件)。

澄清一下,我的 git 索引和工作树目前都位于网站的文档根目录中。我要从存储库中删除的文件需要保留在文档根目录中的位置。当我拉下后续更改时,如何告诉 Git 忘记这些目录而不删除它们?

任何帮助深表感谢。谢谢!

0 投票
1 回答
131 浏览

git - git lfs 和 BFS

BFG for git LFS 支持选项--strip-blobs-bigger-than

git-lfs 本身是否支持基于大小或仅基于扩展名的跟踪文件?git-lfs-track 手册页似乎只支持按扩展名指定,所以我猜 BFS 只是使用该选项来自动确定文件扩展名列表?

0 投票
1 回答
528 浏览

git - BFG 恢复历史中删除的文件

BFG 用于从历史记录中删除文件。在此过程中,写入了 deleted-files.txt。

以前的克隆仍然包含已删除的文件... git cat-file -p xxx (xxx 如 deleted-files.txt 中所述)

有没有办法恢复原来的历史?意味着添加使用 BFG 删除的所有版本?简单地撤消 BFG 所做的一切。