Gitはツリーを直接クローンすることはできません。リポジトリ全体をクローンし、必要なツリーを使用するコミットをチェックアウトする必要があります。混乱を軽減するために、しかし、しかし、そこに「木」の用語の違いであり、「コミット」ことに注意してください:
- ツリーはディレクトリを表すGitのオブジェクトであり、かつ塊へのリンクが含まれています(ファイル)と他のツリー。ツリーは必ずしもリポジトリのルートディレクトリではありません。
- コミットオブジェクトには、リポジトリのルートツリーへのリンクと、コミットメッセージ、日付などの追加情報が含まれています。
コミットのみチェックアウトできます。いくつかのGitコマンドはツリーオブジェクトを直接扱います(例外の中にはgit cat-file
とgit ls-tree
があります)。しかし、あなたのGitHub URLのオブジェクトIDは確かにコミットのIDなので、問題はありません。あなたが解決しようとしている問題は、単にフェッチされている場合は
git checkout -b test-branch d2077e21
:
は、あなたが何ができるか、そして、あなたが複製した後に新しいブランチにしたいリポジトリのコミットをチェックアウトですGitのリモートプロトコルがその操作をサポートしていないため、リモートリポジトリからの単一のコミット(またはツリー)がないと、不運になります。どちらかといえば、あなたがしたいコミットのリモートリポジトリにブランチを挿入することができれば、あなたはどんな歴史せずに、直接、その枝のクローンを作成することができます
git clone -b test-branch --depth 1 https://github.com/cer/event-sourcing-examples
あなたがそれを行うことができない場合は、しかし、あなた」まだ運が悪いリモートプロトコルは、任意のコミットではなく、名前付きの参照のみを参照することができます。
ありがとうDolda2000 – Victor