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.
마지막 “연결 확인”단계에 관심이 있습니다. 그것은 발생 후 의 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은 모든 객체가 올바르게 수신되었는지 확인합니다 (기존 참조에 연결되어 있음).