通过多次提交加快存储库上的`git blame`

用户名

我正在尝试git blame以下文件(在我的本地计算机上运行),因为它太慢而无法引起GitHub的责任:

https://github.com/Homebrew/homebrew-core/blob/master/Formula/sqlite.rb

但是在本地运行也很慢,根据

time git --no-pager blame Formula/sqlite.rb > /dev/null

该存储库包含超过15万次提交。

有没有办法加快git blame命令执行速度

根据Git标准,自制程序核心存储库相当大。一个250 MB的存储库,其中150,000个用于4000个“公式”。这会影响性能。Github确实有麻烦。

在此处输入图片说明

git blame Formula/sqlite.rb使用Git 2.22.0在我的2018 i7 Macbook上花费大约45秒。按照Git标准,速度较慢,但​​考虑到运行频率,可以接受git blame

作为该存储库的用户,没有什么可做的。git blame必须在每次提交中向后搜索,以查看哪些提交更改了该文件。不幸的git blame是,似乎没有利用并行处理。

有一些选择...

  1. 有关此问题,请与Github联系,并希望他们能够解决。
  2. 限制您回顾历史的时间: git blame --since=1.year -- Formula/sqlite.rb
  3. 重新考虑需要快速git blame执行此回购的任何过程
  4. 缓存结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Git Blame提交统计

'git blame'是做什么的?

如何在GitPython中使用git blame?

`git blame / annotate`:在合并提交时终止

是否存在支持Annotate / Blame的Java Diff库?

在C#中以编程方式执行“ Git blame -w”

如何使用 git blame 追踪历史深处的变化

Git Blame:查看特定用户创作的所有行

从git-blame删除文件名和时间戳

如何在Visual Studio 2013中显示'git blame'?

为什么`git blame -w`不忽略换行符?

git blame如何确定谁编辑了文件的一行?

git blame-致命:错误的修订版'22'

Git Blame在特定日期后看到更改

为什么git blame不跟随重命名?

“ git blame”文件访问控制修饰符

Windows上的git blame报告“致命:HEAD中没有这样的路径<path>”

git blame --color-by-age在git config中设置为默认值

带有EGit的Eclipse,很难看到git-blame信息

从jenkins运行声纳时,无法检索SCM信息原因:git blame命令失败

什么是git blame的源代码行和结果行-增量输出?

与在本地计算机上相比,Git blame在Gitlab CI中提供了不同的结果

git blame使用-L <n,m>选项会引发错误的修订错误

我可以配置git blame使其始终忽略某些提交吗?想要一劳永逸地修复git怪

Git Blame 在一个开发人员项目中......如何获得分支和评论而不是作者姓名?

如何通过提交消息搜索Git存储库?

无法通过子模块推送Git存储库的提交

在Git克隆的镜像存储库上提前提交

JQUERY - 通过多次提交更改隐藏输入