如何删除除HEAD(我的主分支)上当前存在的文件之外任何分支上的所有内容的完整历史记录?
我一直在做以下这些事情:
git filter-branch -f --prune-empty --index-filter \
"git rm -rf --cached --ignore-unmatch '*.js' '*.html' '*.css'" \
HEAD
但这变得很繁琐,因为我必须明确指出要删除什么,而不是要保留什么。
Git原则上应该能够确定当前文件的所有祖先,回溯历史,并删除不在祖先中的所有内容。如何实现?
我放弃了:这个整个历史重写似乎非常脆弱,会搞乱事情。很糟糕。我只是复制文件,忍受失去历史的代价。