git clone
SSHまたはHTTPを介してリポジトリを実行すると、次のような出力が得られます。
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.
最後の「接続の確認」ステップに興味があります。それが起こる後のレポとそのメタデータのすべてがダウンロードされている、すなわち任意のインターネット接続が終了した後も。
プロセスのこのステップは、正確に何を達成していますか?
@ecube:gitリポジトリのクローンを作成すると、すべてのブランチ、コミット、リビジョンを含む、その履歴全体のローカルコピーが作成されます。Githubによって提供されるZIPファイルはgitリポジトリではなく、プライマリブランチ上のリポジトリの最新リビジョンのスナップショットです。もちろん、後者は常に小さくなります。
—
Radon Rosborough、2016
Checking out files: 100% (2897/2897), done.
たChecking connectivity
か?それReceiving objects
は実際にコンテンツを受け取ることを意味するのではないようです。たとえば、のクローンを作成するとgit
、次の出力行が表示されましたReceiving objects: 100% (199562/199562), 84.06 MiB | 3.90 MiB/s, done.
。しかし、GitHubからzipをダウンロードすると、解凍されたディレクトリは28 MiBしかありませんでした。これが何を意味するのかはわかりませんが、過去のすべてのコミットの要約かそのようなものかもしれません。