清理巨大的Git存储库

时间:2015-04-15 01:31:08

标签: python git newrelic inotify

我的公司有一个超过15年的单一git存储库,并且非常庞大,其中大约60%可以存档。我想找到这些脚本(python,perl,ruby,java等)并创建一个只有经常使用的脚本的新git存储库。这些脚本也有交叉依赖关系。

我认为一个解决方案是设置inotify以监视git repo中的文件并收集最近访问过的脚本的名称,在几个月内收集数据,然后根据该数据创建新的repo。不确定它会有多高效。

我认为另一个解决方案是为每个文件使用git commit date并删除超过5年的文件。

有谁能让我知道清理这个混乱的有效解决方案?或者类似于NewRelic的任何监视文件系统的工具?

1 个答案:

答案 0 :(得分:0)

首先,目前尚不清楚您要解决的问题。 15年的git历史是否在克隆时减慢了速度?如果是这样,也许只是做一个浅的git克隆? (即浅锥不下载历史。)

正如Thilo所指出的那样,将回购减少一半并不会使 的速度更快。

但是如果脚本真的那么混乱,很可能其中一些需要重写,记录等等。如果你只是向前移动脚本,那么你可能也会向前推进许多低效率。我会及时摘下一个,给他们一点爱,测试一下等等。

一个想法:您可以使用strace -ff -o strace.out ./myscript来确定脚本打开的其他文件。

相关问题