主分支中Git repo foo的结构
foo/refs/a.txt
foo/bar/refs/b.txt
Run Code Online (Sandbox Code Playgroud)
在其他分支refs/可能在许多其他地方
从Git(历史)环境中删除目录引用的所有实例(及其内容):使用Git Bash的Windows 7
find . -name refs -depth -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
成功,所有refs/和他们的内容被删除(如果我不使用-depth,find会报告一个错误,即dirs不存在,即使它们被正确删除).
git filter-branch --index-filter \
'find . -name refs -depth -exec git rm -rf --cached --ignore-unmatch {} \;' \
--prune-empty --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)

如可以在图片中可以看出(想temp/a为temp/foo)命令贯穿并重写所有提交,但没有refs/被取出,让不知何故发现的输出没有恢复到filter-branch --index-filter预期.
类似的事情似乎对其他人有用.
我错过了什么?
PS.是的,我已经阅读了数百个关于此的数小时的帖子,文章等,但它对我来说无效.