【问题标题】:git submodule update --init --recursive hangsgit submodule update --init --recursive 挂起
【发布时间】:2018-01-31 01:27:45
【问题描述】:

当我键入git submodule update --init --recursive 以递归克隆子模块时,它开始说cloning...,然后什么都不做……只是挂起。

一个明显的解决方法是从 .gitmodule 文件中获取路径和存储库,导航到它们指定的路径,然后手动 git clone 它们。

另一个明显的修复方法是使用 Cntr-Z 来中断操作,删除由 --init 子句生成的 .git 文件,然后重试。它似乎有效。

然而,我似乎有一个坏的结果。

我的主要问题是:如何在不挂起的情况下获得git submodule update --init --recursive 工作财产?

其他人以前遇到过这种情况吗?

【问题讨论】:

  • 你等了多久了?它试图克隆的 repo 可能非常大或其他东西。查看是否有网络活动。
  • 5 - 10 分钟。问题是,当我中断操作并从目标路径中删除 .git 文件并重试时,它会在几秒钟后开始。
  • 磁盘活动怎么样?如果它有很多子模块或硬盘有很多错误,那也可能导致那种很长的延迟,显然什么也没发生。

标签: git clone


【解决方案1】:

默认情况下,更新子模块不会显示进度。而且由于许多 Git 存储库的下载速度相对较慢,这可能会导致出现挂起(我曾多次发生这种情况)。

为确保这不仅仅是下载大而缓慢的情况,请使用 --progress 选项运行更新命令。

git submodule update --init --recursive --progress

【讨论】:

  • --progress 受支持,因为v2.11.0
  • 另外,如果需要很长时间,我建议添加--depth 1
  • 谢谢,我就是这样。
  • --progress 对我来说与git submodule update --remote --init --progress 没有任何区别
猜你喜欢
  • 2011-11-27
  • 1970-01-01
  • 2023-03-30
  • 2023-03-20
  • 1970-01-01
  • 2023-02-26
  • 2013-11-06
  • 2022-12-08
  • 2017-11-06
相关资源
最近更新 更多