- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看过这个答案for a git clone error ,建议不要克隆整个 repo,而是只克隆最新的提交,然后使用 unshallow 获取其余的提交。
考虑以下两个命令
1.
git clone <url> --depth 1
git fetch --unshallow
和
2.
git clone <url>
两者克隆的最终输出是否相同?如果是这样,对于非常大的存储库,为什么第二个命令比第一个命令运行得快得多?
是否还有其他浅层克隆不能做的事情,或者有一些缺点,特别是在处理大型存储库时?
最佳答案
当您克隆一个非常大的存储库时,您需要传输大量数据。根据您的网络速度,这可能需要很长时间。为了输入一些具体数字,让我们使用 10 GiB 作为整个存储库数据传输大小(数据传输大小和磁盘上的大小会有所不同,但通常相差不大)并假设您可以获得的传输速率1 兆字节/秒。这意味着数据传输需要 10240 MiB/(1 MiB/s) = 10240 s = 170.667 分钟 = 不到 3 小时(大约 2 小时 50 分钟)。
正在使用的各种协议(protocol)内置了错误检测和(通常在硬件级别)校正,但在此期间连接仍有可能失败。如果连接确实失败,git clone
将整个事情视为原子:没有一个有效,因此 Git 将删除整个克隆。
如果使用 --depth 1
进行抓取导致初始克隆仅复制整体数据的大约 1/3,我们将克隆时间减少到大约 1 小时,从而降低了以下风险彻底失败也是如此。然后可以增量地添加到浅层克隆(使用 --deepen
或更大的 --depth
数字到 git fetch
)。其中每一个都有自己的失败风险,但失败只会导致不添加任何对象:现有的克隆没有受到伤害。根据需要重试一个小时的传输比重新启动整个 3 小时的传输只是在 2 小时 20 分钟内失败要轻松得多。1
最终,最后的 --unshallow
会为您提供所有您可能会得到的东西,如果您能够同时无误地进行完整克隆的话。请注意,您可能希望在初始浅克隆期间使用 --no-single-branch
,或者在初始浅克隆之后修复获取 refspec。
Is the final output of the clone the same for both?
这个问题的答案既不是也不是。我们需要准确定义“最终输出”的含义。但是,就对所有提交和其他对象的有用访问而言,结果是相同的(假设您撤消了 --depth
参数的单分支效果)。
If so, how is it that the second command works much faster than the first for a very large repo?
它不一定工作得更快。然而,在进行完整克隆时,Git 可以——不一定做,但可以——只发送一个现有的包文件,而不是构建一个新的包文件。这可以节省发送方的 CPU 时间。如果发送方的(单个)打包文件构造良好,则接收方生成的单个打包文件也构造良好。使用浅层克隆或什至单个非浅层进行重复加深的结果通常会在接收器上产生多个包文件;这些可能构造得不太好。
1这里我说的是实际经验。 :-) 现在的传输速率比 2005 年不稳定的 DSL 布线要高,但存储库现在也更大了。而且,即使是现在,美国在某些地方的互联网基础设施也很糟糕。
关于git "shallow clone + unshallow"与 "normal clone",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67838180/
这两种方法似乎都完成了从字符串中删除重音符号的相同工作,但我不确定是否存在一些内部差异,可以使一种方法优于另一种方法 最佳答案 分解处理的不仅仅是重音(在 Unicode 中称为标记),例如韩文音节
我在尝试绘制一些数据时收到此错误: findfont: Font family ['STIXGeneral'] not found. Falling back to DejaVu Sans. Trac
我理解规范化和规范化意味着删除数据表示中任何无意义或模棱两可的部分,将有效相同的数据转换为实际相同的数据。 例如,如果您想获取某些输入数据的哈希值,并且其他任何人对规范的相同数据进行哈希处理都获得相同
#!/usr/local/bin/perl use warnings; use 5.014; use Unicode::Normalize qw(NFD NFC compose); my $strin
我正在尝试将包含“áéíóú”等字符的字符串规范化为“aeiou”以简化搜索。 在对 this question 的回复之后我应该使用 Normalizer 类来完成它。 问题是 normalize
我正在尝试获取外语文本并输出人类可读、文件名安全的等效文本。环顾四周后,似乎最好的选择是 unicodedata.normalize(),但我无法让它工作。我试过将一些答案的确切代码放在这里和其他地方
我是 pymc 和贝叶斯统计的新手。在这里,我试图实现一个极其简单的 pymc 模型,以便与理论结果进行比较。在我的测试用例中,我假设正常先验为 mu~N(20,20) 并且可能性假设为 data~N
我正在编写一个 XPath 表达式,但我修复了一个奇怪的错误,但是以下两个 XPath 表达式之间有什么区别? "//td[starts-with(normalize-space()),'Posted
tf.random.normal 和 tf.distributions.Normal 有什么区别?或者 tf.distributions.Multinomial 和 tf.random.multino
第一步: xcodebuild -project Pods/Pods.xcodeproj build 第二个: xcodebuild archive -project 'test.xcodeproj'
我正在将 Adobe Xd 中的设计转换为 HTML 模板,其中一个元素建议使用以下 css 规则。 top: 149px; left: 54px; width: 463px; height: 2
我正在与另一位数据库设计人员就规范化进行有趣的讨论。在这个例子中,我们有一个 GameTitles 表,每条记录都必须包含游戏发布的年份。他说 2NF 要求所有内容都必须规范化,因此,要符合要求,年份
我正在尝试在 python 中加载文件。如果您运行下面的代码并加载仅包含英文单词的文件,它将加载得很好。 Listado.txt 是一个西类牙语文件,包含以下单词:abacá、abadí、abadía
我一个月前完成了这个游戏,直到今天一切都很好。我在线收到错误: odgovorNormalized = Normalizer.normalize(konResenje, Normalizer.Form
我正在使用gnutls aes加密,这是我的代码 const gnutls_datum_t * key; *key = (const char*)"tZOVP7o/u2vQB+4B/0O0ZqLWvy
我正在尝试训练一个用于面部性别和年龄检测的 cnn 模型。我的训练集包含彩色和灰度的面部图像。我如何标准化这个数据集?或者如何处理混合了灰度和彩色图像的数据集? 最佳答案 请记住,网络只会尝试了解您的
这是 DB 规范化理论中的一个概念: Third normal form is violated when a non-key field is a fact about another non-ke
我正在存储有关棒球统计数据的数据,并希望使用三个表来存储:players、battingStats 和 pitchingStats。就问题而言,每个球员都会有击球统计数据或投球统计数据,但不会两者都有
我现在正在学习推力。我有一个问题:如何用推力进行归一化? 我有一个有效的代码,但我想知道这是否是最佳方法。 struct square { __host__ __device__ float oper
所以我知道我自己可以如何解决这个问题,但是有人知道任何可以处理这个问题的现有库吗? (无论什么语言)? 最佳答案 此 API 仅支持英文,并具有职称规范化:http://api.dataatwork.
我是一名优秀的程序员,十分优秀!