今回やること
Gitのブランチは、同じリポジトリ内で作業の流れを分ける機能です。この記事では、外部のGitHubリポジトリを使わず、ローカルだけで次の流れを1回練習します。
mainブランチを持つ学習用リポジトリを作る- 短命の
feature/add-study-planブランチを作る - 変更をコミットする
mainへマージする- マージ済みのfeatureブランチを削除する
短命ブランチとは、1つの小さな変更のために作り、取り込み後すぐ削除するブランチです。

前提条件
- Gitがインストールされている
- ターミナルで
cdなどの基本操作ができる
git --version
バージョン番号が表示されれば準備完了です。
1. 学習用リポジトリを作る
mkdir git-branch-practice
cd git-branch-practice
git init -b main
-b mainにより、最初のブランチ名を明示します。
この学習用リポジトリだけで使う名前とメールアドレスを設定します。--globalは付けません。
git config user.name "Ada Learner"
git config user.email "learner@example.com"
設定範囲を確認します。
git config --local --list
2. mainへ最初のコミットを作る
printf "# Branch Practice\n" > README.md
git add README.md
git commit -m "docs: add project readme"
状態を確認します。
git status
git branch --show-current
nothing to commitとmainが表示されれば、最初のコミットができています。
3. featureブランチで変更する
ブランチを作成し、そのブランチへ切り替えます。
git switch -c feature/add-study-plan
学習計画ファイルを追加してコミットします。
printf "1. Git branchを作る\n2. mainへマージする\n" > study-plan.md
git add study-plan.md
git commit -m "docs: add study plan"
現在のブランチと、直近のコミットを確認します。
git branch --show-current
git log -1 --oneline
feature/add-study-planとdocs: add study planが表示されます。この時点では、変更はfeatureブランチにあります。
4. mainへマージする
まず、取り込み先のmainへ戻ります。
git switch main
次に、featureブランチの変更をマージします。
git merge --no-ff feature/add-study-plan -m "merge: add study plan"
--no-ffは、今回のfeatureを取り込んだことが履歴上で分かるように、マージコミットを作る指定です。
ファイルと履歴を確認します。
ls
git log --oneline --graph --decorate --all
README.mdとstudy-plan.mdがあり、履歴にfeatureのコミットとマージコミットが表示されれば、取り込みは完了しています。
5. マージ済みブランチを削除する
現在のブランチを確認します。
git branch --show-current
mainであることを確認してから、マージ済みのfeatureブランチを削除します。
git branch -d feature/add-study-plan
小文字の-dは、未マージの変更が残っている場合に削除を止めてくれます。この練習では、強制削除の-Dは使いません。
成功確認
git branch --list
git status
git log --oneline --graph --decorate
次の3点を確認できれば成功です。
- ブランチ一覧に
mainだけがある mainにstudy-plan.mdが存在する- 作業ツリーが
nothing to commit, working tree cleanになっている
よくあるつまずき
unknown option 'b'と表示される
Gitが古く、git init -b mainに対応していない可能性があります。Gitを更新するか、次の2行で初期化します。
git init
git branch -M main
Author identity unknownと表示される
学習用リポジトリ内で、名前とメールアドレスを設定します。
git config user.name "Ada Learner"
git config user.email "learner@example.com"
fatal: invalid reference: mainと表示される
最初のコミットより前にブランチを切り替えようとしています。README.mdをgit addし、最初のコミットを作ったか確認してください。
Cannot delete branch ... checked outと表示される
削除対象のfeatureブランチにいます。先にgit switch mainを実行してください。
not fully mergedと表示される
featureブランチがまだmainへ取り込まれていません。強制削除せず、現在のブランチと履歴を確認してください。
git branch --show-current
git log --oneline --graph --decorate --all
練習
同じリポジトリで、もう一度だけ短命ブランチを作ります。
feature/add-goalを作るgoal.mdを追加してコミットするmainへ戻ってマージするfeature/add-goalを-dで削除する
コマンドを実行する前に、「今どのブランチにいるか」を毎回確認してください。
次のステップ
短命ブランチの基本操作を確認できたら、次は状態確認、競合解決、安全な取り消しへ進みます。チーム全体のブランチ戦略は、これらの操作を理解してから検討します。
次は目的に合わせて、次の記事へ進んでください。