Windows上的Git子模块更新缓慢

时间:2019-09-04 20:23:41

标签: git git-submodules

Git子模块在Windows上似乎非常慢。

为了测试性能,我创建了3个裸仓库,并向它们提交了3条独立消息(未存储任何文件)。然后,我将这些裸仓库中的每一个作为子模块添加到新的git repo中,并执行了子模块更新,此过程花费了5秒钟以上。

git submodule update capture

在使用20多个子模块时,这似乎过多且非常明显。 是什么原因导致它花费这么长时间?

示例文件:https://drive.google.com/file/d/1n6fAm16tXtt_1YvXbPHhn150iuw-VGOk/view

在“子模块测试”中运行“ git子模块更新”。 测试中的所有子模块URL都是相对的。

运行Git版本2.22.0.windows.1和版本2.23.0.windows.1

修改:
使用常规命令行,git bash(如图所示),PowerShell和TortoiseGit进行了测试。

通过VonC建议的简化PATH测试。

1 个答案:

答案 0 :(得分:0)

尝试相同的方法:

然后查看问题是否仍然存在。

使用Git 2.22 (and improved in 2.23),您可以使用以下方法测量Git命令的性能:

users = User.order(user: :id)

ActiveRecord::Associations::Preloader.new.preload(
  users,
  :skills,
  { order: :name } # or Skill.order(:name)
)