2017-04-14 25 views
0

私はgitに関する質問がありますが、私はツリーをクローンしましたが、成功しませんでした。私はgitツリーをクローンすることができません

git clone https://github.com/cer/event-sourcing-examples/tree/d2077e21aa677a00095f90250470ff011c132ab8/java-spring 

私はプロジェクト

git clone https://github.com/cer/event-sourcing-examples 

をクローニングして、私はそのツリーに切り替えることを試みたが、何の効果

は、あなたが何か提案を持っていませんか?

敬具

答えて

2

Gitはツリーを直接クローンすることはできません。リポジトリ全体をクローンし、必要なツリーを使用するコミットをチェックアウトする必要があります。混乱を軽減するために、しかし、しかし、そこに「木」の用語の違いであり、「コミット」ことに注意してください:

  • ツリーはディレクトリを表すGitのオブジェクトであり、かつ塊へのリンクが含まれています(ファイル)と他のツリー。ツリーは必ずしもリポジトリのルートディレクトリではありません。
  • コミットオブジェクトには、リポジトリのルートツリーへのリンクと、コミットメッセージ、日付などの追加情報が含まれています。

コミットのみチェックアウトできます。いくつかのGitコマンドはツリーオブジェクトを直接扱います(例外の中にはgit cat-filegit 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 

あなたがそれを行うことができない場合は、しかし、あなた」まだ運が悪いリモートプロトコルは、任意のコミットではなく、名前付きの参照のみを参照することができます。

+0

ありがとうDolda2000 – Victor

0
git clone -b <branch> <remote_repo> 

例:

git clone -b my-branch [email protected]:user/myproject.git 

オルタナティブ(不要公開鍵の設定):

git clone -b my-branch https://[email protected]/username/myproject.git 
+0

私の質問はあまり明確ではないと思います。私が必要なのは、** git cloneを使ってマスターではなくツリーの内容をクローンニングすることです。https://github.com/cer/event-sourcing-examples** – Victor

0

チェックの事はここにGITはbashを使用してhelps.Am以下の場合。

  1. リポジトリをクローンします。

    git clone https://github.com/cer/event-sourcing-examples.git

  2. そのディレクトリ

    cd event-sourcing-examples/

  3. スイッチの枝を(私は木で想定していますが、枝を意味する)

    git checkout wip-vagrant WIP-浮浪者が支店名

  4. で入力します
  5. 更新プログラムを入手するにはプルコマンドを発行する必要があります。

    git pull

あなたは直接、その後、上記のコメント(マイケル)の指示に従って枝のクローンを作成したい場合。

関連する問題