Git clone“检查连接性”-它是什么?

Git clone“检查连接性”-它是什么?

git clone通过 SSH 或 HTTP 执行 repo 时,您会得到类似这样的输出:

Cloning into 'some_directory'...
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 7 (delta 0), reused 5 (delta 0), pack-reused 0
Unpacking objects: 100% (7/7), done.
Checking connectivity... done.

我对最后一个“检查连接”步骤很感兴趣。该仓库及其所有元数据都已下载,即在任何互联网连接完成后。

此过程步骤究竟要完成什么?

答案1

我认为这个词connectivity与网络连接无关。从 git 服务器接收到所有数据后,将显示该消息。

你可以在 git 源代码中找到一些线索。已连接.c文件:

/*
 * If we feed all the commits we want to verify to this command
 *
 *  $ git rev-list --objects --stdin --not --all
 *
 * and if it does not error out, that means everything reachable from
 * these commits locally exists and is connected to our existing refs.
 * Note that this does _not_ validate the individual objects.
 *
 * Returns 0 if everything is connected, non-zero otherwise.
 */

它与消息发送check_everything_connected_real后调用的函数相关Checking connectivity...显示

所以它基本上意味着 git 正在检查所有对象是否被正确接收(是否连接到现有的引用)。

相关内容