今回は、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することができました。
以上です。