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

前回の記事では 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

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

コメント

タイトルとURLをコピーしました