有一些关于从git历史记录中删除某些文件的问题(即Remove a file from a Git repository without deleting it from the local filesystem)。但是,我找不到从历史记录中删除所有.gitignore文件的方法。问题是我有一个个人的本地存储库,并不关心被忽略的文件,但现在我需要共享它,因为有很多不相关的* .csv,* .zip,所以需要永久地将它上传到服务器。其他文件。它们分布在相当多的目录之间,很难一个接一个地执行这个任务。
那么,是否可以对具有特定扩展名的所有文件执行git rm --cached
?
答案 0 :(得分:0)
是的,这是git filter-branch
设计的任务。你可以这样做:
git filter-branch --tree-filter 'rm *.csv *.zip' HEAD
如果您希望在本地工作目录中保留这些文件,最好在存储库的另一个克隆中执行此操作。