ブランチ:branch・checkout・merge
機能ブランチを作成して切り替え、ブランチを main にマージし、単純なマージコンフリクトを解決します。
「ブランチ:branch・checkout・merge」はCoddyKit上の無料Frontend Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはFrontend Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Frontend Academyコースには全4レッスンが含まれています。
ブランチを使う理由
ブランチを使うと、複数の機能やバグ修正を互いに干渉させず、並行して開発できます。Main(または master)は安定した状態を保ち、作業途中の変更は feature ブランチに置かれます。
ブランチの一覧表示と作成
git branchはブランチを一覧表示します。git branch nameは新しいブランチを作成します。新しいブランチは現在のコミットから開始されます。
git branch # list all branches
git branch feature/auth # create a new branch
git branch -d feature/auth # delete merged branchブランチの切り替え
git checkout branchnameは既存のブランチに切り替えます。git checkout -b branchnameを使うと、ブランチの作成と切り替えを1つの手順で行えます。現在の推奨される同等のコマンドはgit switchです。
git checkout main # switch to main
git checkout feature/auth # switch to existing branch
git checkout -b hotfix/nav # create + switch
# Modern (git 2.23+):
git switch main
git switch -c feature/auth一般的なブランチのワークフロー
1) main に切り替えます。2) 最新の変更を pull します。3) feature ブランチを作成します。4) コミットを作成します。5) main にマージします。6) feature ブランチを削除します。
git switch main
git pull
git switch -c feature/dark-mode
# ... make commits ...
git switch main
git merge feature/dark-mode
git branch -d feature/dark-modeブランチのマージ
git merge branchnameは、指定したブランチの変更を現在のブランチに取り込みます。Git は自動的なマージを試みます。履歴が直線的な場合は、ファストフォワードマージになります。
git switch main
git merge feature/auth
# Fast-forward: no merge commit if history is linearマージコミット
両方のブランチでそれぞれ変更が進んでいる場合、Git は2つの親コミットを持つマージコミットを作成します。これにより、両方の開発ラインの完全な履歴が保持されます。
マージコンフリクト
両方のブランチで同じファイルが変更されている場合、Git は自動的にマージできず、コンフリクトとしてマークします。ファイルを編集して解決し、その後コミットします。
<<<<<<< HEAD
const COLOR = 'blue';
=======
const COLOR = 'red';
>>>>>>> feature/theming
// After resolving:
const COLOR = 'navy'; // your decision
git add styles.css
git commitgit rebase — 直線的な履歴
git rebase mainは、ブランチのコミットを最新の main の上に再適用し、マージコミットのない直線的な履歴を作成します。マージ前の feature ブランチで使用します。共有ブランチのリベースは避けてください。
git switch feature/auth
git rebase main # replay commits on top of current mainHEAD — 現在位置
HEADは現在のブランチの先端(または detached HEAD 状態では特定のコミット)を指すポインターです。git logで HEAD の位置を確認できます。HEAD~1は1つ前のコミット、HEAD~3は3つ前のコミットを表します。
作業途中の変更を退避する
git stashはコミットしていない変更を保存し、作業ツリーをクリーンな状態に戻します。未完成の作業をコミットせずにブランチを切り替える必要があるときに使用します。git stash popで変更を復元できます。
git stash # save WIP
git switch hotfix/urgent
# ... fix and commit ...
git switch feature/auth
git stash pop # restore WIPブランチの命名規則
よく使われるパターンには、feature/feature-name、fix/bug-description、hotfix/critical-fix、chore/dependency-updateがあります。一貫した命名にすると、ブランチ一覧を読みやすく保てます。
クイックチェック
新しいブランチを作成し、同時にそのブランチへ切り替えるコマンドは何ですか?
まとめ: Git のブランチ
git branch はブランチを作成します。git checkout/switch はブランチを移動します。git merge は変更を統合します。コンフリクトはマーカーで囲まれたブロックを編集して解決します。git stash は作業途中の変更を保存します。git rebase は直線的な履歴を作成するために使います。新しい作業には必ず feature ブランチを使用し、main は安定した状態に保ちます。マージ済みのブランチを削除して、一覧を整理します。
よくある質問
「ブランチ:branch・checkout・merge」レッスンは無料ですか?
はい。「ブランチ:branch・checkout・merge」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Frontend Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Frontend Academyコースには全4レッスンが含まれています。
「ブランチ:branch・checkout・merge」で何を学びますか?
機能ブランチを作成して切り替え、ブランチを main にマージし、単純なマージコンフリクトを解決します。 ブラウザで直接実行するハンズオンコードでFrontend Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Frontend Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのFrontend Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「ブランチ:branch・checkout・merge」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このFrontend Academyレッスンでコードを書いて実行できますか?
はい。すべてのFrontend Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- git init・add・commit・status
- ブランチ:branch・checkout・merge
- リモートリポジトリ:push・pull・clone
- GitHub でのプルリクエストワークフロー