-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Phase 1-1: ブランチ戦略とバックアップ
📋 概要
Vercel Edge Functions対応とモノレポ構成への移行に向けて、既存のCloudflare版(main)を保護しながら作業用ブランチを作成する。
🎯 目的
- mainブランチの完全保護
- フォークユーザーへの影響ゼロを保証
- 段階的な実装のためのブランチ戦略確立
- 万が一の際の復元ポイント作成
🌳 作成するブランチ構成
main # Cloudflare版(既存・保護)
├── フォークユーザーに影響なし
└── 既存のセットアップ手順そのまま
backup-before-monorepo # バックアップ(念のため)
└── 移行前の完全なスナップショット
monorepo-structure # モノレポ統合版(新規作業用)
├── Cloudflare + Vercel両対応
└── 比較検証用
✅ 実装タスク
1. バックアップブランチ作成
- 現在のmainブランチの最新状態を取得
git checkout main git pull origin main
- バックアップブランチ作成
git checkout -b backup-before-monorepo git push origin backup-before-monorepo
- バックアップが正しく作成されたことを確認
2. 作業用ブランチ作成
- モノレポ構成用ブランチ作成
git checkout main git checkout -b monorepo-structure git push origin monorepo-structure
3. GitHubブランチ保護設定
- GitHub Settings → Branches → Branch protection rules
- mainブランチに以下を設定:
- Require a pull request before merging
- Require approvals (1)
- Require status checks to pass before merging
- Require branches to be up to date before merging
4. README.mdの更新
- mainブランチのREADME.mdに他バージョンへのリンク追加
## 📦 Available Versions このプロジェクトは複数のバージョンがあります: ### 🟦 Cloudflare Pages版(安定版・推奨) **Branch:** `main` **Status:** ✅ Stable **Demo:** https://demo-react-event-calendar.pages.dev このブランチをクローンしてください: \`\`\`bash git clone https://github.com/oumelab/demo-react-event-calendar.git \`\`\` ### 🏗️ Monorepo版(Cloudflare + Vercel両対応) **Branch:** `monorepo-structure` **Status:** 🚧 In Development モノレポ版を試したい場合: \`\`\`bash git clone -b monorepo-structure https://github.com/oumelab/demo-react-event-calendar.git \`\`\`
5. CONTRIBUTING.md作成
- ルートにCONTRIBUTING.md作成
# Contributing Guide ## ブランチ戦略 - `main`: Cloudflare版(本番・保護) - `monorepo-structure`: モノレポ統合版(開発中) - `backup-before-monorepo`: バックアップ ## 開発フロー 1. `monorepo-structure`から機能ブランチを作成 2. 実装・テスト 3. `monorepo-structure`へPull Request 4. レビュー後マージ ## mainブランチについて mainブランチは既存のCloudflare版として保護されています。 フォークユーザーへの影響を避けるため、直接の変更は行いません。
6. 動作確認
- backup-before-monorepoブランチでビルド成功を確認
git checkout backup-before-monorepo bun install bun run build
- mainブランチが変更されていないことを確認
git checkout main git diff backup-before-monorepo # → 差分がないことを確認
🧪 テスト・確認項目
ブランチの確認
-
git branch -aで3つのブランチが表示される- main
- backup-before-monorepo
- monorepo-structure
- すべてのブランチがリモートにプッシュされている
保護設定の確認
- GitHubでmainブランチのSettings → Branchesを確認
- 保護ルールが正しく適用されている
- 直接プッシュができないことを確認(テストプッシュ不要)
ビルドの確認
- backup-before-monorepoブランチ
git checkout backup-before-monorepo bun run build # → 成功することを確認 - mainブランチ
git checkout main bun run build # → 成功することを確認(変更なし)
ドキュメントの確認
- README.mdにブランチ説明が追加されている
- CONTRIBUTING.mdが作成されている
- 内容に誤字・脱字がない
✅ 受け入れ基準
- backup-before-monorepoブランチが作成され、リモートにプッシュされている
- monorepo-structureブランチが作成され、リモートにプッシュされている
- mainブランチに保護設定が適用されている
- README.mdにブランチ説明が追加されている
- CONTRIBUTING.mdが作成されている
- すべてのブランチでビルドが成功する
- mainブランチに一切の変更がない
🔧 トラブルシューティング
ブランチ作成に失敗する場合
# リモートの最新状態を取得
git fetch origin
# ローカルブランチを削除して再作成
git branch -D monorepo-structure
git checkout -b monorepo-structure origin/main保護設定が適用できない場合
- リポジトリのSettings → Branchesに移動
- "Add rule"または既存のルールを編集
- Branch name patternに
mainを入力 - 必要な保護オプションにチェック
📝 備考
- 所要時間: 半日〜1日
- 優先度: High(他のIssueの前提条件)
- 依存: なし(最初のIssue)
- 親Issue: Vercel Edge Functions対応 + モノレポ構成への移行 #59
🔗 関連情報
- リポジトリ: https://github.com/oumelab/demo-react-event-calendar
- 親Issue: Vercel Edge Functions対応 + モノレポ構成への移行 #59
- 次のIssue: Phase 1-2 - Turborepo導入とワークスペース設定
開始前チェック: mainブランチがクリーンな状態であることを確認
完了後: 次のIssue(Turborepo導入)に進む準備完了
Metadata
Metadata
Assignees
Labels
No labels