如果这是之前的问题的重复,对不起,但我找不到我正在寻找的东西。 我正在将大型cvs代码集(20多个存储库,具有15年的历史记录-10-15 GB大小)转换为git的过程中。 由于在过去提交了与代码一起的二进制文件,因此其中大部分大小都是由此造成的。 尽管某些二进制文件是可以完全删除的文件类型,但保留许多二进制文件及其历史记录是可取的。 然而,我们不希望仓库膨胀。
我们目前计划使用git-fat存储二进制文件,但我正在编写一个脚本来自动转换文件。 我的第一步只是尝试识别所有在存储库中的文件(包括已删除的文件),这些文件都是二进制文件。 是否有任何简单的方法来完成这个任务? 谢谢你的帮助。
编辑
实际上,我认为我找到了一个合理的方法,就是运行
git log --numstat <first commit hash> HEAD
这会打印出所有文件的列表,并在前面添加两列,第一列包含文件更改的次数(我不确定是以字节还是行为单位)。但对于二进制文件,则显示“-”。通过选择带有此标记的行并将它们“去重”,我相信可以获得完整的二进制文件列表。
这个策略有没有缺陷?