本記事は「【Git】ローカルリポジトリでマージ作業をしたい話 - にむてっく」の派生記事となります。
はじめに
ローカルリポジトリでマージ作業を行うにあたり、取り込みたいリモートリポジトリのブランチをローカルリポジトリに持ってくる必要があります。本記事では「ローカルリポジトリに特定のリモートブランチを持ってくる方法」について解説していきます。
リモートリポジトリをローカルに持ってくる
👉手順1:現在のブランチの状態を確認します。
$ git branch
ローカルリポジトリにあるブランチの一覧が表示されます。私の場合はdevelopブランチのみ存在していることになります。
👉手順2:リモートリポジトリの最新のコミットをローカルに取り込みます。
$ git fetch
取り込まれたブランチを確認します。
$ git branch -a
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
* 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
おわりに
以上、ローカルリポジトリに特定のリモートブランチを持ってくる方法でした。少し面倒な手順ですが、慣れていけるように頑張りましょう(頑張ります。)
最後まで見ていただきありがとうございました。