Gitブランチ入門 - 短命featureを作ってmainへマージする

入門 | 20分 で読める | 2025.12.02

公式ドキュメント

今回やること

Gitのブランチは、同じリポジトリ内で作業の流れを分ける機能です。この記事では、外部のGitHubリポジトリを使わず、ローカルだけで次の流れを1回練習します。

  1. mainブランチを持つ学習用リポジトリを作る
  2. 短命のfeature/add-study-planブランチを作る
  3. 変更をコミットする
  4. mainへマージする
  5. マージ済みのfeatureブランチを削除する

短命ブランチとは、1つの小さな変更のために作り、取り込み後すぐ削除するブランチです。

mainからfeatureブランチを作り、変更をコミットしてmainへマージした後、featureブランチを削除する流れ

前提条件

  • 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 commitmainが表示されれば、最初のコミットができています。

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-plandocs: 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.mdstudy-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点を確認できれば成功です。

  1. ブランチ一覧にmainだけがある
  2. mainstudy-plan.mdが存在する
  3. 作業ツリーが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.mdgit 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

練習

同じリポジトリで、もう一度だけ短命ブランチを作ります。

  1. feature/add-goalを作る
  2. goal.mdを追加してコミットする
  3. mainへ戻ってマージする
  4. feature/add-goal-dで削除する

コマンドを実行する前に、「今どのブランチにいるか」を毎回確認してください。

次のステップ

短命ブランチの基本操作を確認できたら、次は状態確認、競合解決、安全な取り消しへ進みます。チーム全体のブランチ戦略は、これらの操作を理解してから検討します。

次は目的に合わせて、次の記事へ進んでください。

参考リソース

← 一覧に戻る
PR
PR
PR
PR