git - 如何验证 BFG Repo-Cleaner 是否已从 git 存储库中正确删除大文件?

标签 git bfg-repo-cleaner

我已经使用 BFG Repo-Cleaner 从 git 存储库中删除了一个大文件:

java -jar ../bfg-1.11.8.jar --delete-folders escrow application.git
cd application.git
git reflog expire --expire=now --all
git gc --prune=now --aggressive
cd ..
mkdir clone
cd clone
git clone file:///home/damian/temp/TCLIPG-4370/test/application.git

我在运行 BFG Repo-Cleaner 之前和之后使用脚本 ( http://stubbisms.wordpress.com/2009/07/10/git-script-to-show-largest-pack-objects-and-trim-your-waist-line/ ) 检查了我的存储库,它显示了托管目录的删除,并且两个存储库中的内存也减少了。

一切看起来都很好,但我如何验证我所有的提交是否相同?我是否必须使用 git-for-each-ref 创建脚本并比较两个存储库中具有相同名称的提交,以验证 BFG 是否正常工作?

如有任何建议,我们将不胜感激。

最佳答案

您可以从 Eric S. Raymond 的 repodiffer(他的 reposurgeon 项目的一部分)获得独立意见:http://www.catb.org/~esr/reposurgeon/repodiffer.html

你可以这样使用它:

$ repodiffer old-repo-copy.git new-repo-copy.git

该脚本可能需要一段时间才能运行,但它会准确告诉您这两个存储库之间发生了什么变化。输出的小样本:

...
1a54b66 -> 9b11d44: same differences as for 5c572dc -> 6e8307c.
changed: e00a601 -> 30a42c8 in tree.
L only:
  frontend/assets/big.mp4
R only:
  frontend/assets/big.mp4.REMOVED.git-id
...

完全披露:我是 BFG Repo-Cleaner 的作者。

关于git - 如何验证 BFG Repo-Cleaner 是否已从 git 存储库中正确删除大文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25874673/

相关文章:

javascript - APM header 内容包含无效字符

Git日志解释

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

git - 我应该在镜像仓库还是原始仓库上运行 BFG?

Git Color UI 支持 256 色吗?

java - 使用 Ant 项目作为 Gradle 子项目

linux - 无法使用 wget 下载 git hub 搜索结果

git - BFG使用无效后,Git merge 重复

git - 如何在 git-bash 中修复 "bfg: command not found"

git - 如何使用 BFG repo cleaner 删除一个文件夹/目录?