1. ブランチ戦略の全体像
main (本番)
├── develop (開発統合)
│ ├── feature/grow-calendar ← 機能追加
│ ├── feature/spark-task-ui ← 機能追加
│ ├── fix/login-error ← バグ修正
│ └── hotfix/crash-on-start ← 緊急修正(mainから分岐)
| ブランチ | 用途 | 分岐元 | マージ先 |
|---|---|---|---|
main |
本番リリース済みコード | - | - |
develop |
開発中の統合ブランチ | main | main |
feature/* |
新機能開発 | develop | develop |
fix/* |
バグ修正 | develop | develop |
hotfix/* |
本番の緊急修正 | main | main → develop |
2. 初期セットアップ(最初に1回だけ)
# リポジトリをクローン(まだの場合)
git clone https://github.com/ユーザー名/リポジトリ名.git
cd リポジトリ名
# develop ブランチを作成
git checkout -b develop
git push -u origin develop
3. 日常の開発フロー
Step 1: 機能ブランチを作る
# develop を最新にする
git checkout develop
git pull origin develop
# 機能ブランチを作成
git checkout -b feature/grow-calendar
命名ルール:
- 機能追加:
feature/簡潔な説明(例:feature/grow-calendar,feature/spark-quiz) - バグ修正:
fix/簡潔な説明(例:fix/login-timeout) - 緊急修正:
hotfix/簡潔な説明(例:hotfix/crash-on-start)
Step 2: 開発してコミットする
# 変更をステージング
git add .
# コミット(何をしたか簡潔に)
git commit -m "feat: カレンダー画面の基本レイアウトを実装"
# リモートにプッシュ
git push -u origin feature/grow-calendar
コミットメッセージの書き方:
| prefix | 用途 | 例 |
|---|---|---|
feat: |
新機能 | feat: 栽培記録の写真アップロード機能 |
fix: |
バグ修正 | fix: 日付選択で翌月が表示されない問題 |
refactor: |
リファクタリング | refactor: APIクライアントを共通化 |
docs: |
ドキュメント | docs: READMEにセットアップ手順を追加 |
chore: |
雑務 | chore: パッケージバージョン更新 |
Step 3: こまめにコミット&プッシュ
# 作業の区切りごとに
git add .
git commit -m "feat: カレンダーに栽培イベントを表示"
git push
Tips: 1日の終わりには必ずプッシュしておく。PCが壊れても安心。
4. 開発が完了したら — GitHub でマージ
方法A: GitHub の Pull Request を使う(推奨)
① GitHub で Pull Request を作成
- GitHub のリポジトリページを開く
- 「Compare & pull request」ボタンをクリック(プッシュ直後に表示される)
- または「Pull requests」タブ →「New pull request」
- base:
develop← compare:feature/grow-calendarを選択 - タイトルと説明を書いて「Create pull request」
② マージする
- PR ページで変更内容を確認
- 問題なければ「Merge pull request」→「Confirm merge」
- マージ後「Delete branch」で不要になったブランチを削除
③ ローカルを同期
git checkout develop
git pull origin develop
# マージ済みのローカルブランチを削除
git branch -d feature/grow-calendar
方法B: コマンドラインでマージ
# develop に切り替え
git checkout develop
git pull origin develop
# 機能ブランチをマージ
git merge feature/grow-calendar
# プッシュ
git push origin develop
# 不要になったブランチを削除
git branch -d feature/grow-calendar
git push origin --delete feature/grow-calendar
5. develop を main にマージ(リリース)
ある程度機能がまとまったら、develop を main にマージする。
# main を最新に
git checkout main
git pull origin main
# develop をマージ
git merge develop
# タグをつける(バージョン管理)
git tag -a v1.2.0 -m "Grow カレンダー機能リリース"
# プッシュ
git push origin main
git push origin --tags
または GitHub で develop → main の Pull Request を作ってマージする。
6. 緊急修正(hotfix)
本番で致命的なバグが見つかった場合:
# main から直接ブランチを切る
git checkout main
git pull origin main
git checkout -b hotfix/crash-on-start
# 修正してコミット
git add .
git commit -m "fix: 起動時のクラッシュを修正"
# main にマージ
git checkout main
git merge hotfix/crash-on-start
git push origin main
# develop にも反映(修正漏れ防止)
git checkout develop
git merge hotfix/crash-on-start
git push origin develop
# ブランチ削除
git branch -d hotfix/crash-on-start
7. よくある操作チートシート
ブランチ一覧を見る
git branch # ローカルのブランチ一覧
git branch -a # リモート含む全ブランチ
作業中のブランチを一時退避(stash)
# 別ブランチに切り替えたいけど、今の変更をコミットしたくない
git stash
# 別ブランチで作業して戻ってきたら
git stash pop
間違えてコミットした場合
# 直前のコミットを取り消し(変更は残す)
git reset --soft HEAD~1
# コミットメッセージだけ修正
git commit --amend -m "正しいメッセージ"
コンフリクトが起きたら
# マージ時にコンフリクトが発生した場合
# 1. 該当ファイルを開いて手動で修正
# 2. 修正後
git add .
git commit -m "resolve: マージコンフリクトを解消"
コンフリクトマーカーの見方:
<<<<<<< HEAD
develop 側のコード
=======
feature ブランチ側のコード
>>>>>>> feature/grow-calendar
→ 残したい方を選んでマーカーごと削除する
マージ済みブランチを一括削除
# develop にマージ済みのローカルブランチを全削除
git checkout develop
git branch --merged | grep -v "main\|develop" | xargs git branch -d
8. 日常ワークフロー早見表
朝:
git checkout develop && git pull
git checkout -b feature/今日の作業
作業中:
git add . && git commit -m "feat: やったこと"
(区切りごとに繰り返す)
終わり:
git push -u origin feature/今日の作業
完了したら:
GitHub で PR 作成 → マージ → ブランチ削除
git checkout develop && git pull
9. Claude Code(ターミナル版)でブランチ開発
Claude Code を使うと、ブランチ作成からコミット、PR作成まで自然言語で操作できる。
手動の git コマンドの代わりに、Claude Code がすべて代行してくれる。
前提条件
# Claude Code のインストール(Node.js 18+ 必要)
npm install -g @anthropic-ai/claude-code
# GitHub CLI のインストール(PR作成に必要)
# macOS
brew install gh
# Ubuntu
sudo apt install gh
# GitHub CLI にログイン
gh auth login
9-1. CLAUDE.md をリポジトリに設置する
プロジェクトルートに CLAUDE.md を置くと、Claude Code がプロジェクトの規約を理解して動いてくれる。
# CLAUDE.md
## プロジェクト概要
AIseed - 神経多様性のための強み発見プラットフォーム
## ブランチ規約
- 機能追加: feature/アプリ名-機能名 (例: feature/grow-calendar)
- バグ修正: fix/簡潔な説明
- 緊急修正: hotfix/簡潔な説明
- 開発は develop ブランチから分岐する
- main への直接コミットは禁止
## コミットメッセージ規約
- feat: 新機能
- fix: バグ修正
- refactor: リファクタリング
- docs: ドキュメント
- chore: 雑務
## 技術スタック
- フロントエンド: Flutter(Riverpod不使用、自己完結型Widget)
- バックエンド: Python (FastAPI)
- 認証: Go
## コマンド
- Flutter ビルド: cd frontend && flutter build
- Python テスト: cd backend && pytest
- リント: flutter analyze
9-2. Claude Code での日常開発フロー
ターミナルでプロジェクトディレクトリに移動して claude を起動:
cd ~/projects/aiseed
claude
ブランチ作成から開発開始:
あなた > Grow のカレンダー機能を開発したい。develop から
feature/grow-calendar ブランチを作って
Claude > (git checkout develop → git pull → git checkout -b feature/grow-calendar を実行)
ブランチ feature/grow-calendar を作成しました。
コーディングを依頼:
あなた > カレンダー画面の基本レイアウトを Flutter で作って。
StatefulWidget で自己完結させて
Claude > (ファイルを作成・編集)
コミット&プッシュ:
あなた > ここまでの変更をコミットしてプッシュして
Claude > (git add → git commit → git push を実行)
コミットしました: "feat: カレンダー画面の基本レイアウトを実装"
PR 作成:
あなた > develop に向けて PR を作成して
Claude > (gh pr create を実行)
PR #12 を作成しました: "feat: Grow カレンダー機能"
https://github.com/ユーザー名/aiseed/pull/12
9-3. カスタムスラッシュコマンドを作る
よく使う操作は .claude/commands/ にコマンドとして保存できる。
ブランチ作成コマンド: .claude/commands/branch.md
---
description: feature ブランチを作成する
---
develop ブランチに切り替えて最新を pull し、
feature/$ARGUMENTS という名前で新しいブランチを作成してください。
使い方:
あなた > /branch grow-calendar
コミット&プッシュコマンド: .claude/commands/push.md
---
description: 変更をコミットしてプッシュする
---
!git diff --stat
!git status
上記の変更内容を確認し、適切なコミットメッセージ(feat:/fix:/refactor: 形式)を
生成してコミット&プッシュしてください。
全てを1つのメッセージで実行してください。
使い方:
あなた > /push
PR 作成コマンド: .claude/commands/pr.md
---
description: Pull Request を作成する
---
!git log develop..HEAD --oneline
上記のコミット履歴を確認し、develop ブランチに対して PR を作成してください。
- タイトル: コミット内容を要約
- 本文: 変更点をリスト形式で記述
既に PR が存在する場合は教えてください。
使い方:
あなた > /pr
9-4. Git Worktree で並行開発
複数の機能を同時に開発したいとき、worktree を使うと別ディレクトリで独立した Claude Code セッションを走らせられる。
# Grow カレンダー用の worktree
git worktree add ../aiseed-grow-calendar -b feature/grow-calendar
# Spark クイズ用の worktree
git worktree add ../aiseed-spark-quiz -b feature/spark-quiz
# ターミナル1
cd ../aiseed-grow-calendar && claude
# ターミナル2
cd ../aiseed-spark-quiz && claude
# 開発完了後、worktree を削除
git worktree remove ../aiseed-grow-calendar
9-5. Claude Code ターミナル版の早見表
起動:
cd プロジェクト && claude
ブランチ作成:
/branch grow-calendar
(または自然言語で「develop から feature ブランチ作って」)
開発中:
「この関数を作って」「テスト書いて」など自然言語で指示
コミット&プッシュ:
/push
(または「変更をコミットしてプッシュして」)
PR 作成:
/pr
(または「develop に PR 作って」)
セッション再開:
claude --continue # 直前のセッション
claude --resume # セッション一覧から選択
10. Claude Code Web 版(ブラウザから直接開発)
2025年10月リリースの Claude Code on the web(リサーチプレビュー)。
ブラウザから GitHub リポジトリに直接接続して、コーディングタスクを丸ごと任せられる。
ターミナル不要。スマホ(iOS)からも操作可能。
10-1. 公開できるコード向け — これが大前提
Web 版はすべてのコードが Anthropic のクラウド上で実行される。
リポジトリの内容がクラウドにクローンされて処理されるため、
公開リポジトリやオープンソースプロジェクトには非常に便利だが、
非公開の業務コードや機密情報を含むリポジトリには注意が必要。
| 用途 | Web 版 | CLI 版 |
|---|---|---|
| 公開リポジトリ / OSS | ◎ 最適 | ○ |
| 個人の公開プロジェクト | ◎ 最適 | ○ |
| 機密性の低い社内ツール | △ 判断が必要 | ○ |
| 機密コード / 顧客データ | ✕ 避けるべき | ◎ ローカル完結 |
CLI 版はローカル PC 上で完結するため、コードが外部に送信されない。
機密性が求められる場合は CLI 版を使う。
10-2. アクセスと初期設定
必要なもの:
- Claude Pro($20/月)または Max($100 or $200/月)プラン
- GitHub アカウント
初回セットアップ:
- https://claude.ai/code にアクセス(またはサイドバーの「コード」メニュー)
- 「GitHubに接続」をクリック
- GitHub の認証画面で Claude アプリをインストール
- アクセスを許可するリポジトリを選択
一度設定すれば、以後は新しいリポジトリも自動的に利用可能。
10-3. 画面の見方
┌─────────────────┬──────────────────────────────────┐
│ セッション一覧 │ メイン作業エリア │
│ │ │
│ ・過去のセッション │ リポジトリ選択: [aiseed-dev/aiseed-tool ▼] │
│ aiseed-tool │ モデル: [Sonnet 4.6 ▼] │
│ worldtime │ │
│ vegitage-data │ [Write a CLAUDE.md] │
│ │ [Explain this codebase] │
│ │ [Review recent changes] │
│ │ │
│ │ プロンプト入力欄 │
│ │ [編集の自動承認] トグル │
└─────────────────┴──────────────────────────────────┘
- リポジトリ選択 — プルダウンで GitHub リポジトリを切り替え
- モデル選択 — Sonnet 4.6(デフォルト)/ Opus 等を選択
- 編集の自動承認 — ON にすると確認なしで自動実行
- セッション一覧 — 左サイドバーに過去のセッション履歴
10-4. 基本的な使い方
リポジトリを選んでプロンプトを入力するだけ。
作業は Anthropic のクラウド上のサンドボックスで実行され、
完了するとリポジトリの新しいブランチにプッシュ → PR 作成まで行ってくれる。
例1: 機能の実装
aiseed-dev/aiseed-tool を選択 → プロンプト:
Grow のカレンダー画面を作成してください。
- Flutter で StatefulWidget として自己完結させる
- 月の切り替えボタン(左右矢印 + 「今月」ボタン)
- 栽培イベントをカレンダー上に表示
- feature/grow-calendar ブランチで作業して PR を作成
例2: バグ修正
日付選択で翌月が表示されないバグを修正してください。
修正後、テストも追加して fix/calendar-month ブランチで PR を作成。
例3: コードベースの理解(クイックアクション)
画面のクイックアクションボタンから:
- Write a CLAUDE.md — CLAUDE.md を自動生成
- Explain this codebase — プロジェクト構造の概要を説明
- Review recent changes — 最近のコミットを確認してレビュー
10-5. 並列タスク実行
Web 版の最大の強みは 複数タスクの並列実行。
異なるリポジトリ、あるいは同じリポジトリの異なるタスクを同時に走らせられる。
タスク1: aiseed-tool → カレンダー機能の実装
タスク2: worldtime → タイムゾーン表示のバグ修正
タスク3: aiseed-tool → README の更新
各セッションは独立したサンドボックスで実行され、
リアルタイムで進捗を確認・途中で指示の追加も可能。
10-6. ブランチ開発との組み合わせ
Web 版で開発する場合の典型的なフロー:
1. Web版で実装を依頼(プロンプトにブランチ名を指定)
→ Claude が feature/grow-calendar ブランチを作成して実装
2. 完了すると自動で PR が作成される
→ GitHub の PR 画面で差分を確認
3. 問題があれば Web版のセッションで追加指示
「PR のレビューコメントに対応して修正して」
4. OK なら GitHub で develop にマージ
5. develop → main の PR を作成してリリース
10-7. CLAUDE.md との連携
Web 版もリポジトリの CLAUDE.md を読んでくれる。
セクション 9-1 で作成した CLAUDE.md がそのまま活きる。
初回は Web 版のクイックアクション「Write a CLAUDE.md」で自動生成し、
必要に応じて手動で修正するのが効率的。
10-8. CLI 版との使い分け
| 項目 | CLI 版(ターミナル) | Web 版(ブラウザ) |
|---|---|---|
| 環境 | ローカル PC | Anthropic のクラウド |
| セットアップ | Node.js + npm install | GitHub 接続のみ |
| 並列実行 | worktree で可能 | 標準で並列対応 |
| ファイルアクセス | ローカルファイル全体 | GitHub リポジトリ内のみ |
| カスタマイズ | スラッシュコマンド、hooks 等 | 限定的(プレビュー版) |
| モバイル | 不可 | iOS アプリ対応 |
| 向いている作業 | 対話しながらの開発、複雑な実装 | 定型タスク、バグ修正、並列作業 |
10-9. 注意事項
- リサーチプレビュー — 正式版ではないため、機能追加・変更の可能性あり
- 利用枠は共有 — Web チャット・CLI・Web版すべて合わせて Max プランの枠を消費
- GitHub リポジトリのみ — GitLab 等には非対応(2025年10月時点)
- サンドボックス制限 — ローカルファイルへの直接アクセスはできない
- ネットワーク制限 — デフォルトでは外部 API 等へのアクセスが制限される(カスタム設定で許可可能)
11. ツール比較 — どう使い分けるか
| 操作 | 手動 Git | Claude Code CLI | Claude Code Web |
|---|---|---|---|
| ブランチ作成 | git checkout -b |
自然言語で指示 | プロンプトで指定 |
| コーディング | エディタで手書き | 対話しながら生成 | プロンプトで丸投げ |
| コミット | git add && commit |
/push 一発 |
自動コミット&プッシュ |
| PR 作成 | GitHub UI / gh
|
/pr 一発 |
自動作成 |
| コードレビュー | 自分で確認 | Claude に聞く | Review recent changes |
| 並列作業 | ブランチ切替 | worktree | 標準で並列対応 |
| コスト | 無料 | Pro,Max 契約内(定額) | Pro,Max 契約内(定額) |
| 操作場所 | ターミナル | ターミナル | ブラウザ / スマホ |
| コードの機密性 | ◎ ローカル完結 | ◎ ローカル完結 | △ クラウド送信 |
個人開発者の推奨スタイル(Max プラン):
公開プロジェクト(AIseed, worldtime 等):
Web 版で気軽にタスクを投げる → 並列で効率的
畑仕事の合間にスマホから指示も可能
デスクで集中作業・複雑な実装:
CLI 版で対話しながら開発
→ /push でコミット → /pr で PR 作成
機密コード・非公開プロジェクト:
CLI 版をローカルで使う(コードがクラウドに送信されない)
リリース:
develop → main の PR を作成してマージ