自由気ままに書いちゃおう

好きなことをつらつらと・・・

【GitHub】1つのリポジトリ内に存在する複数ブランチをローカル環境にCloneする方法

今回は、1つのリポジトリ内に存在する複数ブランチをローカル環境にCloneする方法についてです。

 

■はじめに

「何言ってるかわからない」となる気もするので、少し補足致します。
GitHub上のリポジトリをCloneする際には、

git clone https://~


のようにgit cloneコマンドを実行すれば良いです。
この場合にはmainブランチ(デフォルトブランチがmainブランチの場合)がクローンされるため、ローカル上でgit branch を実施した結果は以下の通り、main ブランチのみになります。

この際、「GitHub上のデフォルトブランチ以外の他のブランチもCloneしたいんです!!!」ということが稀?にあります。

ブランチ指定のgit clone は以下コマンドで実施できますが、

git clone -b ブランチ名 https://~

この場合は、指定したブランチ名だけがクローンされます。(今回は、feature-1040というブランチ名を指定したと仮定)

 

本題に戻りますが、今回対象としているのは下図の通り



「同じディレクトリ内にmainも他のブランチも共存させたい」とか
「GitHub上のmainブランチとfeatureブランチをCloneしてきて、(良いか悪いかは置いといて)featureブランチにmainブランチを取り込みたい」と言ったことを想定しています。

長くなりましたが、最終的に出来上がるディレクトリ構成は以下の通りです。

※ 再掲 ※



■結論

以下の通り実行します。


1.通常通り、mainブランチのgit clone を実施します

git clone https://~

2.ローカルにcloneしたディレクトリに移動します。

※「ren1」というリポジトリをCloneした想定で下記致します。

 

3.以下コマンドを実行し、origin/~ (~部分はクローンしたい他のブランチ名)を確認します。

※「feature-1040」というブランチ名をクローンしたい場合は「origin/feature-1040」が存在することを確認します。

 

4.以下コマンドを実行します。※ここが今回の肝です!

git checkout -b feature-1040 origin/feature-1040

5.期待通りの結果になっているかを確認します。


これで、1つのリポジトリ内に存在する複数ブランチをローカル環境にCloneすることができました。

 

以上です。