问题描述
我有几个文件太大,无法提交到github,现在我不得不使用git filter分支重写历史记录。
我有大约4个文件大于100MB csv文件,我希望将其从历史记录中删除。我有文件名:story_a002.csv,input_0019.csv,charlet.csv和model_892.csv
我知道我可以在下面使用此命令,但是我必须一次使用一次。重写完成后,我必须推送更改。不幸的是,因为我必须先全部重写它们,否则我将收到文件太大的github问题。
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch <filename>
有没有一种方法可以链接此链接,以便我可以重写一次并执行一次推送?
解决方法
首先,您可以考虑使用new git filter-repo
的will replace the old git filter-branch
or BFG。
它具有many usage examples,包括基于路径的过滤:
要保留除这些路径以外的所有文件,只需添加
--invert-paths
:git filter-repo --path aFileToRemove --invert-paths
尝试使用多路径(通过一个命令删除所有文件),然后强制推送。