如何使用 BFG repo 清理器删除一个文件夹/目录?

Posted

技术标签:

【中文标题】如何使用 BFG repo 清理器删除一个文件夹/目录?【英文标题】:How to delete one folder / directory using BFG repo cleaner? 【发布时间】:2014-08-06 22:40:01 【问题描述】:

如何使用 BFG 只删除一个目录?

帮助说:

delete folders with the specified names (eg '.svn', '*-tmp' - matches on folder name, not path within repo)

这似乎意味着--delete-folders "config" 将匹配存储库中任何位置的所有名为 config 的文件夹。

【问题讨论】:

【参考方案1】:

我在这里找到了答案:remove files from specific path

BFG 的作者说不能这样做,除非您使用特殊命令将给定目录的所有 blob 转储到文本文件,然后使用 --strip-blobs-with-ids 并提供该文本文件。

[更新] 这对我不起作用。我运行命令:

git log --format=%H -- cms/assets/ | xargs -IcommitId git rev-parse commitId:cms/assets/

我得到一个包含 8 个 blob id 的列表。我把它们放在文本文件中,然后我执行bfg -bi ~/tmp/blob-ids,然后 BFG 退出说:BFG aborting: No refs to update - no dirty commits found??

【讨论】:

以上是关于如何使用 BFG repo 清理器删除一个文件夹/目录?的主要内容,如果未能解决你的问题,请参考以下文章

如何授予 Git 'ForcePush' 权限以将 bfg-repo-cleaner 结果推送到 VSTS?

GIt:使用BFG从存储库中删除了几个文件,并且存在巨大的提交差异

Xcode下的git repo在哪里?

从GIT历史记录中删除文件

从特定路径中删除文件名?

在 Github repo 上的所有先前提交中隐藏密码