除了 HEAD(我的主分支)上当前存在的文件之外,如何删除任何分支上任何内容的完整历史记录?
我一直在做类似的事情
git filter-branch -f --prune-empty --index-filter \
"git rm -rf --cached --ignore-unmatch '*.js' '*.html' '*.css'" \
HEAD
但这越来越乏味,因为我必须明确说明要删除的内容,而不是保留的内容。
Git原则上应该能够确定当前文件的所有祖先,回到历史,并删除所有不在祖先中的东西。如何?
我放弃了:整个历史的改写似乎很脆弱,把事情搞砸了。糟透了。我只是复制文件并咬住丢失历史的子弹。