【Git】ローカルリポジトリに特定のリモートブランチを持ってくる方法

本記事は「【Git】ローカルリポジトリでマージ作業をしたい話 - にむてっく」の派生記事となります。

はじめに

ローカルリポジトリでマージ作業を行うにあたり、取り込みたいリモートリポジトリのブランチをローカルリポジトリに持ってくる必要があります。本記事では「ローカルリポジトリに特定のリモートブランチを持ってくる方法」について解説していきます。

リモートリポジトリをローカルに持ってくる

👉手順1:現在のブランチの状態を確認します。

$ git branch
develop

ローカルリポジトリにあるブランチの一覧が表示されます。私の場合はdevelopブランチのみ存在していることになります。

👉手順2:リモートリポジトリの最新のコミットをローカルに取り込みます。

$ git fetch

取り込まれたブランチを確認します。

$ git branch -a
develop
     remotes/origin/HEAD -> origin/main
     remotes/origin/develop
     remotes/origin/feature-001
     remotes/origin/HEAD -> remotes/origin/main

既にあったdevelopブランチ(緑文字)に加えて、赤文字で表示されているものがgit fetchで取り込まれたブランチになります。ここでのポイントは、fetchコマンドではローカルの作業ブランチにはまだ取り込まれていない点です。下記図のようにfetchコマンドではローカルリポジトリに「remotes/origin/<ブランチ>」を取り込んでいます。







持ってきたリモートブランチからローカルブランチを作成する。

👉手順3:checkoutコマンド

$ git checkout -b feature-001 origin/feature-001
# 成功ログ
branch 'feature-001' set up to track 'origin/feature-001'.
Switched to a new branch 'feature-001'

これは、指定したリモートブランチを元に、新たにローカルブランチを作成するコマンドになります。構文は下記になります。

$ git checkout -b [作成するローカルブランチ名を指定] [作成元となるリモートブランチを指定]

ブランチが切り替えられたか確認します

$ git branch
     develop
feature-001

今回の手順の例ではfetchで取り込んだ「origin/feature-001」を元に「feature-001」ブランチをローカルに作成しています。「feature-001」はリモートの「feature-001」ブランチに回帰させる(pushする)という前提になります。下記図のイメージです。







別のケースとして、「origin/feature-001」を元に別のブランチを作成したい場合、仮に「feature-002」を作成する場合では作成するブランチ名の指定を変えることで新たなブランチを作成する事も可能です。

$ git checkout -b feature-002 origin/feature-001

おわりに

以上、ローカルリポジトリに特定のリモートブランチを持ってくる方法でした。少し面倒な手順ですが、慣れていけるように頑張りましょう(頑張ります。)

最後まで見ていただきありがとうございました。