ブランチはなぜ切るのですか。どう使っていますか

main を壊さずに作業を進めるため、と目的から答える問い。1 つの作業に 1 つのブランチを切り、プルリクエストで main へ戻す流れまで話します。

こう聞かれます

  • 「ブランチはなぜ切るのですか」
  • 「チームで開発するとき、ブランチをどう使っていますか」
  • 「全員が main に直接 push すると、何が困りますか」(裏から聞く形)

面接官が見ている点

  • ブランチの仕組みより先に、「main をいつでも動く状態に保つ」という目的を言えるか
  • 1 つのブランチに何を入れるか (作業の単位) を自分の言葉で決めているか
  • ブランチの作業をどうやって main へ戻すか (プルリクエストとレビュー) まで話せるか

短い答え

  • main をいつでも動く状態に保ったまま、別の作業を並べて進めるために切ります。
  • 1 つの作業 (機能の追加や不具合の直し) ごとに 1 つのブランチを切り、名前で中身が分かるようにします。
  • 作業が終わったらプルリクエストを出し、レビューと確認が済んでから main へ取り込みます。

少し詳しい答え

ブランチの中で進めた作業は main に混ざらない

main でトップの頁を作ったあと、ログインの作業用にブランチを切ってコミットします。

ターミナル

git init -q -b main demo
cd demo
git config user.name Aya
git config user.email a@x.jp
echo "top" > index.html
git add index.html
git commit -q -m "トップを作る"
git switch -q -c login-form
echo "login" > login.html
git add login.html
git commit -q -m "ログイン画面を足す"
git branch
git log --format=%s main
git log --format=%s login-form
* login-form
  main
トップを作る
ログイン画面を足す
トップを作る

* はいまいるブランチの印です。main の履歴には「トップを作る」だけがあり、ログインの作業は login-form の側にだけ積まれています。途中で手が止まっても、main は動く状態のままです。

ブランチはコミットに付けた名札

ブランチはファイルを丸ごと写す物ではなく、あるコミットを指す軽い名札です。新しいコミットを作ると、いまいるブランチの名札がそこへ進みます。だから気軽に作って、終わったら消せます。

1 つの作業に 1 つのブランチ

1 つのブランチに複数の作業を混ぜると、レビューする人が読みにくくなり、片方だけを先に出すこともできません。小さく切ると、レビューが早く済み、取り込んだあとに問題が出ても、どの変更が原因かを絞りやすくなります。

作った物と結ぶなら、たとえば「ポートフォリオでは、機能ごとに feature/search のようなブランチを切り、プルリクエストで差分を見直してから main へ入れていました」のように話します。

よくある間違い

  • 「ブランチはファイルのコピー」と言う ブランチはコミットを指す名札です。作っても、ファイルが倍になるわけではありません
  • 1 つのブランチに何日分もの作業を詰め込む差分が大きいとレビューが進まず、main とのずれも広がってコンフリクトが起きやすくなります
  • 「個人開発なのでブランチは使っていない」で終わる 1 人でも、試しの作業を main から分けておけば、うまくいかなかったときに捨てるだけで済みます

深掘りの問い

  • 「ブランチの名前はどう付けていますか」何の作業かが名前で分かるように付ける、と答えます。チームに決まりがあればそれに合わせる、とも添えます
  • 「作業中に main が先に進んだら、どうしますか」 main の変更を自分のブランチへ取り込み、手元で動きを確かめてからプルリクエストを出す、と答えます
  • 「取り込み終わったブランチはどうしますか」消して一覧を見やすく保つ、と答えます。履歴は main に残っているので、消しても作業は失われません

確認日 2026年10月23日

技術面接問題の一覧へ戻る