Git:删除除某个目录以外的所有内容(BFG Repo Cleaner)

Sup*_*ser 4 git git-rewrite-history bfg-repo-cleaner

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

对于这样的任务,BFG repo清洁器是我常用的工具.但是,它似乎不支持此操作(事实上,我认为它不支持扩展的globs).我真的想要完成以下,没有摆脱其他目录:

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

谢谢!

lar*_*srh 5

你可以反过来做:

git subtree split --prefix keep-me --branch cleaned-branch
Run Code Online (Sandbox Code Playgroud)

这将在cleaned-branch仅包含的分支中创建新的项目历史记录keep-me.