3
3
## 🎯 ブランチ構成
4
4
5
5
### ` main ` ブランチ
6
- - ** 目的** : 開発・ リリース管理
6
+ - ** 目的** : リリース管理・安定版
7
7
- ** 内容** :
8
- - 最新のアプリケーションコード
9
- - サンプル・クリーンなデータベース
10
- - ドキュメント
8
+ - 安定版のアプリケーションコード
9
+ - リリース済みの機能
10
+ - 本番環境対応済みのコード
11
+ - ** GitHub Actions** : ビルドのみ(デプロイなし)
12
+ - ** 使用者** : エンドユーザー・本番環境
13
+
14
+ ### ` develop ` ブランチ
15
+ - ** 目的** : 開発統合・機能開発
16
+ - ** 内容** :
17
+ - 開発中の最新機能
18
+ - 機能統合・テスト用コード
19
+ - 次期リリース候補
11
20
- ** GitHub Actions** : ビルドのみ(デプロイなし)
12
21
- ** 使用者** : 開発者・コントリビューター
13
22
14
23
### ` gh-pages ` ブランチ
15
24
- ** 目的** : 個人運用・実デプロイ
16
25
- ** 内容** :
17
- - ` main ` からマージされた最新コード
26
+ - ` main ` からマージされた安定版コード
18
27
- 個人の実際のパーツDB
19
28
- 運用固有の設定
20
29
- ** GitHub Actions** : ビルド + GitHub Pagesデプロイ
23
32
## 🔄 運用フロー
24
33
25
34
### 開発フロー(開発者向け)
35
+
26
36
``` bash
27
37
# 1. 機能開発
28
- git checkout main
29
- git pull origin main
38
+ git checkout develop
39
+ git pull origin develop
30
40
# ... 開発作業 ...
31
41
git add .
32
42
git commit -m " 機能追加: XXX"
33
- git push origin main
43
+ git push origin develop
34
44
35
45
# 2. テスト確認
36
46
npm run dev # ローカルで動作確認
37
47
npm run build # ビルドエラーがないか確認
38
48
```
39
49
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
+
40
64
### 運用フロー(個人利用者向け)
65
+
41
66
``` bash
42
67
# 1. 最新機能を取り込み(必要時)
43
68
git checkout gh-pages
44
- git merge main
69
+ git merge main # 安定版を取り込み
45
70
git push origin gh-pages
46
71
47
72
# 2. データベース更新(日常運用)
@@ -58,17 +83,23 @@ git push origin gh-pages
58
83
59
84
### 🔄 実行ポリシー
60
85
61
- - ** トリガー** : ` main ` , ` gh-pages ` 両ブランチ
62
- - ** ビルド** : 両ブランチで実行
86
+ - ** トリガー** : ` main ` , ` develop ` , ` gh-pages ` 全ブランチ
87
+ - ** ビルド** : 全ブランチで実行
63
88
- ** デプロイ** : ` gh-pages ` ブランチのみ
64
89
65
- ### 🎯 なぜ両ブランチでビルドするのか
90
+ ### 🎯 各ブランチでのビルド目的
66
91
67
- #### ` main ` ブランチでのビルド目的
92
+ #### ` develop ` ブランチでのビルド目的
68
93
69
94
- ** 早期エラー検出** : 開発段階でのビルドエラーを即座に発見
95
+ - ** 統合テスト** : 複数機能の統合時の問題を検出
96
+ - ** 開発効率** : 壊れたコードがmainに到達するリスクを最小化
97
+
98
+ #### ` main ` ブランチでのビルド目的
99
+
100
+ - ** リリース前検証** : 安定版コードの最終確認
70
101
- ** 品質保証** : ` gh-pages ` にマージする前の事前検証
71
- - ** 開発効率 ** : 壊れたコードが本番に到達するリスクを最小化
102
+ - ** リリース準備 ** : 本番環境対応の最終チェック
72
103
73
104
#### ` gh-pages ` ブランチでのビルド目的
74
105
@@ -77,6 +108,7 @@ git push origin gh-pages
77
108
78
109
### 📊 リソース使用量
79
110
111
+ - ** ` develop ` ブランチ** : ビルドのみ(約2-3分)
80
112
- ** ` main ` ブランチ** : ビルドのみ(約2-3分)
81
113
- ** ` gh-pages ` ブランチ** : ビルド + デプロイ(約3-5分)
82
114
- ** 月間コスト** : GitHub Actions無料枠内で運用可能
@@ -86,16 +118,18 @@ git push origin gh-pages
86
118
必要に応じて以下の設定変更が可能:
87
119
88
120
1 . ** 効率重視** : ` gh-pages ` のみでビルド実行
89
- 2 . ** 品質重視** : 現在の設定(両ブランチでビルド )
121
+ 2 . ** 品質重視** : 現在の設定(全ブランチでビルド )
90
122
3 . ** 分離型** : CI用とCD用のワークフローを分離
91
123
92
124
## 🎁 メリット
93
125
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で履歴管理
99
133
100
134
## 🚀 初期セットアップ
101
135
@@ -104,9 +138,27 @@ git push origin gh-pages
104
138
git clone < repository-url>
105
139
cd ePartsDB
106
140
141
+ # 開発ブランチ作成(まだない場合)
142
+ git checkout -b develop
143
+ git push -u origin develop
144
+
107
145
# 個人運用ブランチ作成
108
146
git checkout -b gh-pages
109
147
git push -u origin gh-pages
110
148
111
149
# GitHub Pages設定: GitHub Actions使用
112
150
```
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