힘내 클론 “연결 확인”-무엇입니까? HTTP를 통해 repo를 수행하면 다음과

git cloneSSH 또는 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.

마지막 “연결 확인”단계에 관심이 있습니다. 그것은 발생 의 repo와 모든 메타 데이터가 다운로드 된, 즉 어떤 인터넷 연결이 완료된 후에도.

프로세스의이 단계가 정확히 무엇입니까?



답변

나는이 단어 connectivity가 네트워크 연결과 아무 관련이 없다고 생각합니다 . git 서버에서 모든 데이터를 이미받은 후에 메시지가 표시됩니다.

자식 소스에서 힌트를 찾을 수 있습니다. connected.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은 모든 객체가 올바르게 수신되었는지 확인합니다 (기존 참조에 연결되어 있음).


답변