如何在git历史中查找/识别大型提交?

如何在git历史中查找/识别大型提交?

我有一个300 MB的git repo。我目前检出的文件重2 MB,git repo重298 MB。这基本上是一个仅限代码的回购,重量不应超过几MB。

最有可能的是,有人在某个时候偶然犯了一些重文件(视频,巨大的图像等),然后将它们删除......但不是从git中删除,所以我们有无用大文件的历史。如何在git历史记录中追踪大文件?有400多个提交,所以一个接一个将是耗时的。


手掌心
浏览 659回答 3
3回答

阿晨1998

试试git ls-files | xargs du -hs --threshold=1M。我们在CI管道中使用下面的命令,如果它在git repo中找到任何大文件,它就会停止:test $(git ls-files | xargs du -hs --threshold=1M 2>/dev/null | tee /dev/stderr | wc -l) -gt 0 && { echo; echo "Aborting due to big files in the git repository."; exit 1; } || true
打开App,查看更多内容
随时随地看视频慕课网APP