Git clone は、リモートの現在の作業ブランチをローカルにコピーする動作をします。
リモートリポジトリでブランチを切り替えることなく、特定のブランチを自分でクローンする方法はありませんか?
git clone -b
例
git clone -b my-branch git@github.com:user/myproject.git
Git 1.7.10 以降では、--single-branch を追加して、すべてのブランチを取得しないようにします。例:OpenCV 2.4 ブランチの場合。
--single-branch
git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git
git clone --single-branch --branch
single-branch`オプションは、バージョン1.7.10以降で有効です。
多くの人が好む別の回答も参照してください。
また、その違いを理解しておくことも必要でしょう。その違いとは、git clone --branch urlを実行することで、すべての*ブランチを取得し、その中の1つをチェックアウトすることです。例えば、あなたのリポジトリに5kBのドキュメントやwikiブランチと5GBのデータブランチがあるとします。そして、フロントページを編集したいときには、5GBのデータをクローンすることになるかもしれません。
git clone --branch url
繰り返しになりますが、git clone --branch がその方法ではないと言っているわけではありません。ただ、特定のブランチの複製について質問しているときに、それが常に達成したいことではないということです。
git clone --branch
以下の回答を書いた時点では、git には --single-branch オプションがありませんでした。しかし、怒った蜂が満足するようにこのオプションを残しておきましょう。
コピーマスターに大反対された答えはこうでした。
git init git remote add -t refspec remotename host:/dir.git git fetch
例えば、ローカルシステム上にその名前のブランチを作成する場合、"branch-05142011"という名前のブランチを取得したいとします。
git branch branch-05142011 origin/branch-05142011`とします。
すると、次のようなメッセージが表示されます - "Branch branch-05142011 set up to track remote branch-05142011 from origin."
これで、以下のようにブランチをチェックアウトすれば、コードが完成します。 git checkout branch-05142011。
git checkout branch-05142011
例
Git 1.7.10 以降では、
--single-branch
を追加して、すべてのブランチを取得しないようにします。例:OpenCV 2.4 ブランチの場合。single-branch`オプションは、バージョン1.7.10以降で有効です。
多くの人が好む別の回答も参照してください。
また、その違いを理解しておくことも必要でしょう。その違いとは、
git clone --branch url
を実行することで、すべての*ブランチを取得し、その中の1つをチェックアウトすることです。例えば、あなたのリポジトリに5kBのドキュメントやwikiブランチと5GBのデータブランチがあるとします。そして、フロントページを編集したいときには、5GBのデータをクローンすることになるかもしれません。繰り返しになりますが、
git clone --branch
がその方法ではないと言っているわけではありません。ただ、特定のブランチの複製について質問しているときに、それが常に達成したいことではないということです。以下の回答を書いた時点では、git には
--single-branch
オプションがありませんでした。しかし、怒った蜂が満足するようにこのオプションを残しておきましょう。コピーマスターに大反対された答えはこうでした。
例えば、ローカルシステム上にその名前のブランチを作成する場合、"branch-05142011"という名前のブランチを取得したいとします。
git branch branch-05142011 origin/branch-05142011`とします。
すると、次のようなメッセージが表示されます - "Branch branch-05142011 set up to track remote branch-05142011 from origin."
これで、以下のようにブランチをチェックアウトすれば、コードが完成します。
git checkout branch-05142011
。