特定のGitブランチのクローンを作成するにはどうすればよいですか?

2009年12月16日に質問されました。  ·  閲覧回数 3.5M回  ·  ソース

Scud picture
2009年12月16日

Gitクローンは、リモートの現在の作業ブランチをローカルにコピーするように動作します。

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

回答

Jorge E. Cardona picture
2010年12月31日
7940
git clone -b <branch> <remote_repo>

例:

git clone -b my-branch [email protected]: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
Michael Krelin - hacker picture
2009年12月16日
1749
git clone --single-branch --branch <branchname> <remote-repo>

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

多くの人が好む他の答えも見てください。

また、違いを確実に理解することもできます。 違いは、 git clone --branch <branchname> urlを呼び出すことで、すべてのブランチをフェッチ

繰り返しになりますが、それはgit clone --branchがそれを達成する方法ではないということではありません。特定のブランチのクローンを作成することについて質問するとき、それが必ずしも達成したいことではないということです。

superlogical picture
2011年07月14日
291

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

リポジトリのクローンを作成する

git clone <repository_url>

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

git branch -a 

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

git checkout <name_of_branch>
Edmar Miyake picture
2011年09月08日
248

他のブランチフェッチ

mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH
dkinzer picture
2011年11月16日
107
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

returnを押すと、次のようになります。

Branch enum-account-number set up to track remote branch refs/remotes/origin/enum-account-number.
Switched to a new branch "enum-account-number"
PlanetUnknown picture
2011年05月16日
33

その名前でローカルシステムにブランチを作成します。 たとえば、 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
savgur picture
2011年09月07日
22
git --branch <branchname> <url>

ただし、bashの完了では次のキーは取得されません: --branch