前回の記事では 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
にコードを送る方法を説明します。


コメント