Skip to content

Commit 12bfdf0

Browse files
committed
ブランチ戦略の変更とREADMEの更新
1 parent 74ec347 commit 12bfdf0

File tree

3 files changed

+215
-344
lines changed

3 files changed

+215
-344
lines changed

.github/workflows/deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Deploy to GitHub Pages
22

33
on:
44
push:
5-
branches: [ main, gh-pages ] # 両ブランチで実行
5+
branches: [ main, develop, gh-pages ] # 全ブランチで実行
66
workflow_dispatch:
77

88
permissions:

BRANCH_STRATEGY.md

Lines changed: 72 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,27 @@
33
## 🎯 ブランチ構成
44

55
### `main` ブランチ
6-
- **目的**: 開発・リリース管理
6+
- **目的**: リリース管理・安定版
77
- **内容**:
8-
- 最新のアプリケーションコード
9-
- サンプル・クリーンなデータベース
10-
- ドキュメント
8+
- 安定版のアプリケーションコード
9+
- リリース済みの機能
10+
- 本番環境対応済みのコード
11+
- **GitHub Actions**: ビルドのみ(デプロイなし)
12+
- **使用者**: エンドユーザー・本番環境
13+
14+
### `develop` ブランチ
15+
- **目的**: 開発統合・機能開発
16+
- **内容**:
17+
- 開発中の最新機能
18+
- 機能統合・テスト用コード
19+
- 次期リリース候補
1120
- **GitHub Actions**: ビルドのみ(デプロイなし)
1221
- **使用者**: 開発者・コントリビューター
1322

1423
### `gh-pages` ブランチ
1524
- **目的**: 個人運用・実デプロイ
1625
- **内容**:
17-
- `main`からマージされた最新コード
26+
- `main`からマージされた安定版コード
1827
- 個人の実際のパーツDB
1928
- 運用固有の設定
2029
- **GitHub Actions**: ビルド + GitHub Pagesデプロイ
@@ -23,25 +32,41 @@
2332
## 🔄 運用フロー
2433

2534
### 開発フロー(開発者向け)
35+
2636
```bash
2737
# 1. 機能開発
28-
git checkout main
29-
git pull origin main
38+
git checkout develop
39+
git pull origin develop
3040
# ... 開発作業 ...
3141
git add .
3242
git commit -m "機能追加: XXX"
33-
git push origin main
43+
git push origin develop
3444

3545
# 2. テスト確認
3646
npm run dev # ローカルで動作確認
3747
npm run build # ビルドエラーがないか確認
3848
```
3949

50+
### リリースフロー(メンテナー向け)
51+
52+
```bash
53+
# 1. developの機能をmainにマージ
54+
git checkout main
55+
git pull origin main
56+
git merge develop
57+
git push origin main
58+
59+
# 2. リリースタグ作成(オプション)
60+
git tag v1.x.x
61+
git push origin v1.x.x
62+
```
63+
4064
### 運用フロー(個人利用者向け)
65+
4166
```bash
4267
# 1. 最新機能を取り込み(必要時)
4368
git checkout gh-pages
44-
git merge main
69+
git merge main # 安定版を取り込み
4570
git push origin gh-pages
4671

4772
# 2. データベース更新(日常運用)
@@ -58,17 +83,23 @@ git push origin gh-pages
5883

5984
### 🔄 実行ポリシー
6085

61-
- **トリガー**: `main`, `gh-pages` 両ブランチ
62-
- **ビルド**: 両ブランチで実行
86+
- **トリガー**: `main`, `develop`, `gh-pages` 全ブランチ
87+
- **ビルド**: 全ブランチで実行
6388
- **デプロイ**: `gh-pages`ブランチのみ
6489

65-
### 🎯 なぜ両ブランチでビルドするのか
90+
### 🎯 各ブランチでのビルド目的
6691

67-
#### `main` ブランチでのビルド目的
92+
#### `develop` ブランチでのビルド目的
6893

6994
- **早期エラー検出**: 開発段階でのビルドエラーを即座に発見
95+
- **統合テスト**: 複数機能の統合時の問題を検出
96+
- **開発効率**: 壊れたコードがmainに到達するリスクを最小化
97+
98+
#### `main` ブランチでのビルド目的
99+
100+
- **リリース前検証**: 安定版コードの最終確認
70101
- **品質保証**: `gh-pages` にマージする前の事前検証
71-
- **開発効率**: 壊れたコードが本番に到達するリスクを最小化
102+
- **リリース準備**: 本番環境対応の最終チェック
72103

73104
#### `gh-pages` ブランチでのビルド目的
74105

@@ -77,6 +108,7 @@ git push origin gh-pages
77108

78109
### 📊 リソース使用量
79110

111+
- **`develop` ブランチ**: ビルドのみ(約2-3分)
80112
- **`main` ブランチ**: ビルドのみ(約2-3分)
81113
- **`gh-pages` ブランチ**: ビルド + デプロイ(約3-5分)
82114
- **月間コスト**: GitHub Actions無料枠内で運用可能
@@ -86,16 +118,18 @@ git push origin gh-pages
86118
必要に応じて以下の設定変更が可能:
87119

88120
1. **効率重視**: `gh-pages` のみでビルド実行
89-
2. **品質重視**: 現在の設定(両ブランチでビルド
121+
2. **品質重視**: 現在の設定(全ブランチでビルド
90122
3. **分離型**: CI用とCD用のワークフローを分離
91123

92124
## 🎁 メリット
93125

94-
1. **分離された管理**: 開発と運用が独立
95-
2. **柔軟な更新**: 機能更新とDB更新を独立して実行可能
96-
3. **安全性**: 個人データがmainブランチに混入しない
97-
4. **自動化**: gh-pagesプッシュで自動デプロイ
98-
5. **バックアップ**: 個人DBもGitで履歴管理
126+
1. **明確な役割分離**: 開発(develop)・安定版(main)・運用(gh-pages)が独立
127+
2. **安全なリリース**: developでテスト後mainにマージする安全な流れ
128+
3. **柔軟な更新**: 機能更新とDB更新を独立して実行可能
129+
4. **品質保証**: 段階的な検証によるコード品質の向上
130+
5. **安全性**: 個人データがdevelop/mainブランチに混入しない
131+
6. **自動化**: gh-pagesプッシュで自動デプロイ
132+
7. **バックアップ**: 個人DBもGitで履歴管理
99133

100134
## 🚀 初期セットアップ
101135

@@ -104,9 +138,27 @@ git push origin gh-pages
104138
git clone <repository-url>
105139
cd ePartsDB
106140

141+
# 開発ブランチ作成(まだない場合)
142+
git checkout -b develop
143+
git push -u origin develop
144+
107145
# 個人運用ブランチ作成
108146
git checkout -b gh-pages
109147
git push -u origin gh-pages
110148

111149
# GitHub Pages設定: GitHub Actions使用
112150
```
151+
152+
## 🔄 ブランチ移行手順
153+
154+
既存のmainブランチからの移行:
155+
156+
```bash
157+
# 1. 現在のmainからdevelopを作成
158+
git checkout main
159+
git checkout -b develop
160+
git push -u origin develop
161+
162+
# 2. 今後の開発はdevelopで実施
163+
# 3. mainは安定版のリリース専用に変更
164+
```

0 commit comments

Comments
 (0)