Git:删除除特定目录之外的所有内容(BFG Repo Cleaner)

Git: Remove everything except for a certain directory (BFG Repo Cleaner)

我正在尝试永久删除 Git 存储库 中所有目录的所有痕迹,除了 一个目录,比如名为 keep-me

对于此类任务,BFG 存储库清理器是我常用的工具。但是,它似乎不支持此操作(事实上,我认为它不支持扩展的 glob)。我真的想完成以下工作,但不会删除其他目录:

java -jar ~/bfg-1.12.12.jar --delete-folders {!(keep-me)} my-repo.git

谢谢!

你可以反过来做:

git subtree split --prefix keep-me --branch cleaned-branch

这将在分支 cleaned-branch 中创建一个新的项目历史,其中仅包含 keep-me.