git checkout と git switch(ブランチを切り替える方法) – 6/12

Git
Git
B!

前回の記事では Gitのブランチ を解説しました。

ブランチとは

開発を分岐させる仕組み

でした。

例えば次のような構造になります。

main
 ├ login-feature
 └ payment-feature

それぞれのブランチで独立して開発できます。

今回は

ブランチを切り替える方法

を解説します。

この記事では次の内容を説明します。

  • git checkout
  • git switch
  • ブランチ作成と切り替え
  • よくあるミス

ブランチを切り替える理由

Gitでは通常

main

というブランチが最初に存在します。

しかし実際の開発では

main

を直接編集することはほとんどありません。

代わりに

featureブランチ

を作ります。

例

feature-login
feature-payment

機能ごとにブランチを作り、開発を行います。

そのため

ブランチの切り替え

は日常的に行う操作になります。


git checkout

ブランチを切り替える伝統的なコマンドが

git checkout

です。

例

git checkout login-feature

このコマンドを実行すると

login-feature

ブランチに切り替わります。


現在のブランチ確認

現在のブランチは次のコマンドで確認できます。

git branch

例

main
* login-feature
payment-feature

* が付いているブランチが 現在のブランチです。


git checkout のもう一つの使い方

git checkout は

ブランチ切り替え

だけでなく

ファイル復元

にも使われます。

例

git checkout app.js

これは

ファイルを最新コミットに戻す

という意味になります。

このように

複数の役割

を持つため、初心者には少し分かりにくいコマンドでした。


git switch

そのためGitでは新しいコマンドが追加されました。

git switch

です。

git switch は

ブランチ切り替え専用

のコマンドです。

例

git switch login-feature

git checkout と git switch の違い

違いをまとめると次の通りです。

コマンド用途
git checkoutブランチ切替 + ファイル復元
git switchブランチ切替専用

つまり

初心者には git switch の方が分かりやすい

と言えます。


新しいブランチを作って切り替える

新しいブランチを作るとき

次のように書くことが多いです。

git checkout -b feature-login

このコマンドは

ブランチ作成
↓
ブランチ切替

を同時に行います。


git switch でブランチ作成

git switch でも同じことができます。

git switch -c feature-login

意味

create branch

です。


開発の基本フロー

ブランチを使った開発の流れ

main
↓
git switch -c feature-login
↓
開発
↓
commit
↓
mainへ統合

つまり

機能ごとにブランチ

が基本です。


ブランチ切替の注意点

ブランチを切り替えると

作業ファイル

も変わります。

例えば

main

と

feature-login

でコードが違う場合

切り替えるとファイル内容が変わる

ことがあります。


未保存の変更がある場合

変更がある状態でブランチを切り替えると

エラーになる場合があります。

例

error: Your local changes would be overwritten

この場合

commit

するか

stash

する必要があります。


git stash

一時的に変更を退避できます。

git stash

その後

git switch main

などができます。


実務でのブランチ切替

実際の開発では次のような流れになります。

main
↓
git switch -c feature-login
↓
ログイン機能開発
↓
commit
↓
push
↓
Pull Request
↓
merge

まとめ

この記事では git checkout と git switch を解説しました。

重要なポイント

git checkout
旧コマンド

git switch
新しいコマンド

初心者には

git switch

の方が分かりやすいです。


次の記事

次回は

GitHubへpushする方法

を解説します。

ここでは

git push

を使って

ローカル → GitHub

にコードを送る方法を説明します。

Git入門

B!
← 一覧へ戻る