3591

Git clone は、リモート ブランチをローカルにクローンします。

リモートリポジトリでブランチを切り替えることなく、特定のブランチを自分で複製する方法はありますか?

4

7 に答える 7

8310
git clone -b <branch> <remote_repo>

例:

git clone -b my-branch git@github.com:user/myproject.git

Git 1.7.10以降では--single-branch、すべてのブランチがフェッチされないように追加します。例、OpenCV 2.4ブランチの場合:

git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git
于 2010-12-31T05:36:11.453 に答える
2204
git clone --single-branch --branch <branchname> <remote-repo>

この--single-branchオプションはバージョン1.7.10以降で有効です。

多くの人が好む他の回答もご覧ください。

また、違いを理解していることを確認することもできます。違いは、すべてgit clone --branch <branchname> urlのブランチを取得して 1 つをチェックアウトすることです。これは、たとえば、リポジトリに 5kB のドキュメントまたは wiki ブランチと 5GB のデータ ブランチがあることを意味する場合があります。また、フロントページを編集するたびに、5 GB のデータを複製することになる場合があります。

git clone --branch繰り返しますが、それはそれを達成する方法ではないと言っているわけではありません。特定のブランチのクローンについて尋ねているときに、それが常に達成したいことではないということです。

于 2009-12-15T23:09:29.470 に答える
330

これは本当に簡単な方法です:)

リポジトリをクローンする

git clone <repository_url>

すべてのブランチを一覧表示する

git branch -a 

必要なブランチをチェックアウトします

git checkout <name_of_branch>
于 2011-07-14T09:42:19.783 に答える
258

他のブランチを取得せずにブランチを複製するには:

mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH
于 2011-09-08T14:34:18.883 に答える
121
git checkout -b <branch-name> <origin/branch_name>

たとえば、私の場合:

 git branch -a
* master
  origin/HEAD
  origin/enum-account-number
  origin/master
  origin/rel_table_play
  origin/sugarfield_customer_number_show_c

したがって、私の enum-account-number ブランチに基づいて新しいブランチを作成するには、次のようにします。

git checkout -b enum-account-number origin/enum-account-number

リターンを押すと、次のことが起こります。

Branch enum-account-number set up to track remote branch refs/remotes/origin/enum-account-number.
Switched to a new branch "enum-account-number"
于 2011-11-15T19:34:07.263 に答える
35

その名前でローカル システムにブランチを作成します。たとえば、名前付きのブランチを取得したいとしますbranch-05142011

git branch branch-05142011 origin/branch-05142011

次のメッセージが表示されます。

$ git checkout --track origin/branch-05142011
Branch branch-05142011 set up to track remote branch refs/remotes/origin/branch-05142011.
Switched to a new branch "branch-05142011"

以下のようにブランチをチェックアウトすると、コードが得られます

git checkout branch-05142011
于 2011-05-15T19:20:32.433 に答える
27
git --branch <branchname> <url>

しかし、bash の補完はこのキーを取得しません:--branch

于 2011-09-07T10:16:23.160 に答える