【Git】git checkout でリモートブランチに切り替える方法を初心者向けに解説
はじめに
バージョン管理ツールとして広く利用されているGitは、複数人での開発をとてもスムーズにしてくれます。
その中でもリモートブランチを操作する方法は、チームや個人で作業を進める際に覚えておくと便利です。
とはいえ、初めてGitを触る方にとっては「リモート」「ブランチ」という言葉だけでもハードルが高く感じられるかもしれませんね。
そこで本記事では、git checkoutを使ってリモートブランチを切り替える方法を、初心者の方にもわかりやすく解説していきます。
具体的には実務でどのような場面で役立つかをイメージしやすいように、実践的な例とあわせて紹介します。
少しずつ手を動かしながら、ぜひ確認してみてください。
この記事を読むとわかること
- リモートブランチとは何か、その基本的な考え方
- git checkoutによるリモートブランチのチェックアウト手順
- 実際の作業で役立つブランチの使いどころ
- よくあるエラーへの対処方法
- 初心者が気を付けたいポイント
リモートブランチとは
まずは「リモートブランチ」という言葉の意味から整理しましょう。
リモートブランチとは、GitHubやGitLabなどのリモートリポジトリ(インターネット上にあるGitリポジトリ)に存在するブランチのことです。
チームでの共同開発や、自分以外の人が作成・更新したブランチがリモートリポジトリに保存されているイメージを持つとわかりやすいかもしれません。
例えば「feature-login」というリモートブランチがあれば、それはリモートリポジトリ上にだけ存在するブランチということになります。
手元(ローカル環境)にそのブランチがなければ、まだ自分のパソコン上にはない状態です。
初心者の方は、まず以下のように整理しておくと混乱しにくくなります。
- ローカルブランチ: 自分のパソコン(ローカル環境)にあるブランチ
- リモートブランチ: GitHubなどリモートリポジトリ上にあるブランチ
共同作業では多くの場合、他のメンバーが作ったブランチをチェックアウトしてコードを確認したり、修正を加えたりする必要があります。
このときに登場するのがgit checkout リモートブランチです。
git checkout とは
git checkoutは、指定したブランチやコミットに作業領域を切り替えるためのコマンドです。
ブランチを切り替えるだけでなく、過去のコミットをチェックアウトして特定の時点の状態を参照することもできます。
ただ、リモートブランチの場合はローカルに存在しないブランチを直接指定できないケースがあります。
そのため、ローカルにブランチを作成したうえでリモートブランチを取り込みたい場合には、少し追加の操作が必要です。
git checkout の用途やメリット
- 複数の作業を切り替えやすい: あるブランチで実装中の機能を中断して、別のブランチでバグ修正を行うときなどに便利
- 状況の再現が容易: 過去のコミットを一時的にチェックアウトして動作確認を行うことができる
- 柔軟なチーム開発: 他のメンバーのブランチをローカルに取り込み、機能や修正内容をテストできる
これらによって、開発の生産性が向上しやすくなります。
リモートブランチをチェックアウトする手順
ここからは、リモートブランチを実際にチェックアウトする流れを見てみましょう。
初心者の方でも使いやすい手順をまとめています。
1. リモート情報を取得する
ローカル環境が最新のリモート情報を把握していないと、ブランチ一覧にリモートブランチが表示されないことがあります。
そこで、まずgit fetchを使ってリモートリポジトリの情報を取得すると良いでしょう。
git fetch origin
origin
はリモートリポジトリのデフォルト名称です。
上記のように実行すると、リモートリポジトリ上の新しいブランチやコミットの情報をローカルに更新できます。
2. ローカルブランチを作成してチェックアウトする
リモートブランチを直接チェックアウトする方法もありますが、名前が重複していたり、作業内容を明示的に分けたい場合があります。
そこで多くの初心者が利用するのが、-b
オプションを使った新規ブランチの作成とチェックアウトを同時に行う方法です。
git checkout -b feature-login origin/feature-login
このコマンドでローカルブランチfeature-login
を作成し、リモートブランチorigin/feature-login
を反映させた状態に切り替えます。
この後、自分だけのローカルブランチ上で編集やコミットが行えるようになります。
ローカルに作ったブランチ名は、リモートのブランチ名と同じにしておくと混乱しにくくなります。
ただし、異なる名前にしたい場合は好きな名前で作成しても問題ありません。
3. すでに存在している場合は普通にチェックアウトする
もしローカルに同じ名前のブランチが既に存在している場合は、新規作成オプション(-b)は使わずに普通にチェックアウトすればOKです。
ただ、同名ブランチが複数あると間違いが起こりやすいので、管理には注意してください。
git checkout feature-login
万が一、元となるリモートブランチが更新されているなら、事前にgit fetch origin
しておきましょう。
そうすると、origin/feature-login
の最新情報をローカルで確認できます。
実務での活用シーン
実際の現場では、リモートブランチをチェックアウトする場面が多々あります。
初心者のうちはピンと来ないかもしれませんが、以下の例を見ておくとイメージしやすいです。
共同開発での検証作業
チームメンバーが作成した機能をテストするとき、対象のブランチをチェックアウトして動作確認するケースがあります。
例えば、あるメンバーがorigin/feature-api-integration
というブランチで新しいAPIを試しているとします。
そのブランチを自分の開発環境に持ってきて、動作確認を行うのが典型的な作業の流れです。
これによって、実際に動くコードを直接チェックできるため、フィードバックも早く正確に行えます。
また、レビューや改善の提案もしやすくなるでしょう。
運用中のプロジェクトでのバグ修正
運用中のシステムでバグが見つかったとき、対応用にブランチを切っておくことがあります。
例えば「origin/hotfix-login-bug」というブランチに修正が含まれている場合、その内容を確認するのにチェックアウトが必須です。
バグ修正ブランチを取り込んでテスト環境で検証し、問題がなければ本番へ反映する…といった流れが一般的です。
このように、バグ修正の速やかな実装と反映にgit checkoutが大いに活躍します。
よくあるエラーと対処方法
リモートブランチのチェックアウトでありがちなエラーやトラブルについて、簡単に整理しておきましょう。
初心者がつまずきやすいポイントを事前に把握しておくと、いざというときの対処が楽になります。
コミットされていない変更が残っている
ブランチを切り替える前に、ローカルの変更内容をコミットまたはスタッシュしていないと、エラーや競合が発生することがあります。
急ぎでチェックアウトしたい場合は、一時的に「stash」してからブランチを切り替えるという方法も検討してみてください。
stashなどを使わずに作業が残ったままブランチを切り替えると、コンフリクトが起きてしまう可能性があります。
他のメンバーに影響を与えないためにも、意図しない差分を残さない習慣をつけましょう。
リモートブランチが見つからない
リモートリポジトリに存在するはずのブランチが、ローカルで確認できないケースがあります。
その場合はまずgit fetch origin
して、最新情報を取得しているか確認しましょう。
また、ブランチ名を打ち間違えていないかも重要なポイントです。
大文字やハイフンなど、正確に一致する必要がありますので気をつけてください。
エラー: Your branch is ahead...
チェッックアウト後に作業を進めたのに、プッシュしようとすると「Your branch is ahead of 'origin/XXXXX' by...」と表示されることがあります。
これは、ローカルブランチとリモートブランチでコミットの状態がずれているという意味です。
ローカルのコミットがリモートより進んでいるだけなので、問題ない場合もありますが、意図しない差分が含まれていないかは一応確認してください。
もし、リモートとローカルを完全に同期したいときは、git pull
やgit rebase
を利用して差分を取り込む方法もあります。
ただ、そこまで必要なければ、通常通りgit push origin ブランチ名
で問題ないケースが多いです。
まとめ
ここまでgit checkout リモートブランチの基本と、実際の作業で想定される活用シーンについて説明しました。
初心者の方はリモートブランチという概念そのものが難しく感じるかもしれませんが、扱いに慣れると共同開発やバグ修正の場面で大いに役立ちます。
- リモートブランチの情報を取得するために、まずは
git fetch origin
を実行 - 必要に応じて
-b
オプションを使い、新規ローカルブランチを作成してチェックアウト - 他のメンバーが作った機能や修正点を簡単に取り込めるので、チーム開発がスムーズに進行する
以上を押さえておくと、Gitの操作に対する理解が深まり、開発の効率が上がるでしょう。
少しずつコマンドに慣れながら、ぜひ運用の現場でも活用してみてください。