【実務・中級編】Figmaのブランチ機能(Branches)で安全なチーム開発を実現する運用ルールとマージ競合の解決方法 – UI/UX・デザインツール活用バイブル

Figmaブランチ戦略:プロダクトの速度を落とさずに「絶対に壊れない」マルチプル・ワークフローを構築する極意

テックリードやプロダクトデザイナーの皆さん、日々のデザインプロセスの裏で、こんな「構造的負債」に悩まされていないだろうか。

  • 「メインファイル(Main)で大胆なリファクタリングをしたら、急ぎの文言修正とコンフリクトして地獄を見た」
  • 「レビューのためにダミーのページを切って実験した結果、どれが最新の正本(Source of Truth)か分からなくなった」
  • 「エンジニアから『どのコンポーネントが実装フェーズに入っているか分からない』と言われる」

Gitの世界では当たり前に行われている「ブランチを切る・安全に検証する・プルリクエストでレビューする・競合を解消してマージする」というモダンな開発フロー。これをFigmaのBranches機能によってデザイン組織全体にインストールし、開発スピードと品質を同時に最大化するための実践的な運用ルールを解説する。

単なる機能紹介ではない。今日からチームのプロダクション環境を劇的に改善するための「プロの現場の作法」を授けよう。

—

1. Figma Branchesの思想と「Mainを守る」メンタルモデル

Figmaのブランチ機能は、単なる「ファイルのコピー」ではない。Gitと同様に、Main(プロダクション環境)の履歴から分岐し、独立したコンテキストで変更を加え、差分(Diff)を検証した上でマージするという強力なアトミック性を持っている。

チーム開発におけるアンチパターン

  • アンチパターンA:直接Mainをいじる

小規模な修正であっても、Mainで直接作業するのは「本番環境(Production)のデータベースに対して直接 `UPDATE` クエリを叩く」のと同じ愚行である。オートレイアウトの崩れや、未確定のトークン変更が即座に全ステークホルダーに同期されてしまう。

  • アンチパターンB:別ファイル(実験用)を乱立させる

`【バカヨケ】決済フロー改修_v3_本当に最終版.fig` のような孤立したファイルを生み出すのは、デザインシステムとのリンクを断ち切り、技術負債の山を築くだけだ。

ブランチを切るべき基準(Threshold)

以下の条件のいずれかに当てはまる場合は、必ずブランチを切ることをチームの不文律(Definition of Doneの前段階)に設定せよ。

1. デザインシステム(DS)のコアコンポーネントの構造変更(プロパティの削除、ネストの組み替え)
2. 影響範囲が3画面以上に及ぶ大改修
3. 複数人での並行パラレルワーク(例:Aさんがチェックアウトフロー、Bさんがマイページを同時並行で触る場合)

—

2. 現場の生産性を爆上げするキーボードショートカット&実践テクニック

Figmaでのブランチ運用をスムーズに行うためには、マウス操作を極力排除し、キーボード駆動で差分確認とマージを行える状態を作ることが重要だ。

開発スピードを加速させるショートカット集

| アクション | Mac ショートカット | Windows ショートカット | プロの活用文脈 |
| :— | :— | :— | :— |
| 現在のブランチ状態の確認 / 切り替え | `Ctrl` + `Tab` (ファイル内) | `Ctrl` + `Tab` | メインとブランチを行き来し、差分のメンタルモデルを維持する |
| レビューモードの切り替え | `Shift` + `D` | `Shift` + `D` | コメントや仕様の意図を正確に捕捉する |
| コンポーネントのインスタンスから定義元へジャンプ | `⌥` + `3` | `Alt` + `3` | ブランチ内で改修したコンポーネントの依存関係を確認する |

隠れたプロのテクニック:「Drafts」と「Branches」の使い分け

  • Drafts(個人実験場): アイデアの壁打ち、誰もまだ見せたくない初期スケッチ。
  • Branches(チーム共有の実験場): Mainにマージすることが前提であり、他のデザイナーやエンジニアからのレビューを待ち受ける状態。

この境界線をチームメンバー全員で意識合わせすることが、心理的安全性の高いデザインプロセスの第一歩となる。

—

3. 複数人の同時編集で起きる「マージ競合(Conflict)」を防ぐベストプラクティス

Figmaのブランチでも、Gitと同様に「同じレイアウトグリッド、同じコンポーネント、同じテキストフレーム」を別々のブランチで同時に改修した場合、マージ時にConflict(競合)が発生する。

これをエレガントに回避し、無駄なコンフリクト解決作業を減らすためのベストプラクティスを共有する。

1. 「Atomic Component」の原則を徹底する

1つの巨大なフレームにすべての要素を詰め込んでいると、誰かが少しレイアウトを動かしただけで競合の嵐になる。コンポーネントは極力細かく(Atomic Designの思想に則り、Atom / Moleculeレベルで)分割し、各自が独立したパーツを触る構造にデザインシステム側をチューニングしておけ。

2. 定期的な「MainからのRebase(マージ)」の習慣化

長期間ブランチを切ったまま放置するのは悪手である。Main側でデザインシステムが更新されたり、他のブランチがすでにマージされたりしている場合、あなたのブランチは「古く汚染された状態」になっている。
定期的にMainの変更を自分のブランチに取り込み、差分を早期に解消(Sync)する文化を作れ。

> Conflict発生時の解決フロー:
> Figmaの「Review changes」モーダルが開いたら、どちらの変更(Mainの最新版 vs 自分のブランチの変更)を優先するかをレイヤー単位、またはプロパティ単位で選択する。デザインの意図(Intent)がどちらにあるかをデザイナー同士、あるいはテックリードと必ず口頭またはコメントで同期しながら解決ボタンを押せ。

—

4. チーム開発で絶対に導入すべき「神プラグイン」と設定共有ルール

デザイナーとエンジニアがFigma上でシームレスに連携し、ブランチのレビュー品質を担保するために、チーム全体で導入すべきプラグインと設定を厳選した。

1. 絶対に入れるべき神プラグイン

  • Dev Mode Inspector / Advanced Specs

エンジニアがブランチの差分を見たときに、「どこが変わったのか(Padding、Color Token、Typographyの差分)」をピクセル単位で正確に抽出するための必須ツール。

  • Instance Finder

ブランチ内で変更したコンポーネントが、プロジェクト全体で何箇所に使われている影響範囲(Impact Radius)を視覚化する。

  • Linter / Design System Checker

マージ前に、非推奨カラーやハードコードされたフォントサイズがブランチ内に混入していないかを機械的にチェックする。

2. チーム設定・命名規則の共有化ルール

ブランチ名には必ず以下のプレフィックス(接頭辞)をつけるルールをチームのドキュメントに明記せよ。

  • `feat/` : 新機能・新規画面の追加
  • `fix/` : 既存デザインのバグ修正・不具合対応
  • `refactor/` : デザイントークンやコンポーネント構造の整理・最適化
  • `exp/` : 一回きりの実験・ABテスト検証用

—

5. 【実践】プロジェクト管理を自動化する設定ファイル構成例

Figmaの運用を属人化させず、GitHubなどの開発リポジトリやCI/CD、デザインシステム管理と連携させるための実践的な設定ファイルの構成例を提示する。

以下は、デザインの変更通知やブランチのステータス管理、GitHub連携を統括するプロジェクトルートの `design-ops.yaml` のベストプラクティス構成だ。

design-ops.yaml
Figmaのブランチ運用およびエンジニア連携を自動化・標準化するための設定ファイル
version: “2.0”

project:
name: “Enterprise Design System”
figma_file_key: “aBcDeF1234567890GhIjKl” # 対象のFigmaファイルのキー
main_branch_name: “Main”

ブランチ運用のガバナンスルール
branch_governance:
naming_convention:

  • pattern: “^(feat|fix|refactor|exp)\/[a-z0-9\-_]+$”

description: “ブランチ名は必ず prefix(feat/fix/refactor/exp)/スラッシュ/ケバブケース で命名すること。”

# マージ前の必須条件 (Definition of Ready for Merge)
merge_requirements:
require_review: true
min_reviewers: 1
required_roles:

  • “Tech Lead”
  • “Design System Lead”

check_design_system_lint: true # DSの逸脱がないかチェック

自動通知・Webhook設定(Slack / Discord等への連携)
notifications:
slack:
webhook_url: “https://hooks.slack.com/services/T00/B00/XXXXX”
events:

  • branch_created
  • review_requested
  • branch_merged
  • merge_conflict_detected

エンジニア連携(Dev Mode)の最適化設定
developer_handshake:
token_sync:
# Design Tokens (JSON) との双方向同期パス
tokens_source_path: “./tokens/design-tokens.json”
auto_export_on_merge: true

# マージ時に自動でドキュメント化する対象ページ
documentation_pages:

  • “📖 00_README / 変更履歴”
  • “🚀 01_Release Notes”

このファイルをリポジトリのルートに置き、GitHub ActionsやFigmaのWebhookと連携させることで、「誰がどのブランチで何を企んでいて、いつMainにマージされるのか」がエンジニアリングチームの視界にも完全に入ってくるようになる。

—

結び:デザインを「コード」のように扱い、チームの信頼残高を高めろ

Figmaのブランチ機能は、単なる機能の便利さではない。
「デザインプロセスを、エンジニアリングと同じ信頼性の高いアジャイルな開発パイプラインに昇華させるための思想」である。

「誰もがいつでもMainを壊せる恐怖」からチームを解放し、「厳格でありながらアジリティを失わないレビュー文化」を構築できたとき、あなたのプロダクトチームの生産性は、競合が追いつけないほどのスピードへと加速する。

今日からあなたのファイルでも、まずは小さな修正から `feat/` ブランチを切る習慣を始めてみてほしい。現場の景色が確実に変わるはずだ。

タイトルとURLをコピーしました