《Bubble》Version Controlについて
概要
バージョンコントロールは、ファイル(特にソフトウェアやドキュメントのソースコード)の変更を追跡し、複数の人がそれらに同時に作業することを可能にするシステムです。具体的には次のような機能があります。
- 変更履歴の保存: ファイルの変更点(誰がいつ何を変更したか)を記録し、過去の任意の時点に戻ることができます。
- 協力作業の支援: 複数の人が同じファイルセットに同時に作業する際に、彼らの変更が衝突しないように管理します。
- 変更の統合: 異なる人々が行った変更を一つのファイルに統合することができます。
これにより、チームは効率的に協力し、エラーや問題の原因を特定しやすくなり、プロジェクトの安定性と品質を高めることができます。
Version Controlについて
目的
1. 継続的な開発と安定したライブアプリの両立
開発環境とライブ環境を分離することで、新機能の追加やメンテナンスを行いながら、ライブアプリが安定して稼働し続けることを保証します。
2. チーム協力の最適化
複数のチームが異なる機能やアップデートを独立して開発できるように、カスタムブランチを作成し、これにより複数の作業を同時に進めることが可能になります。
3. 迅速な問題解決
ホットフィックスブランチを使用して、緊急の問題を素早く対応し、ライブアプリに即座に反映させることができます。
4. 安全な変更の管理と展開
ブランチ間のマージ機能により、変更を安全に統合し、必要な時にのみライブ環境にデプロイすることができます。
重要な用語の説明
用語 | 定義 |
開発環境(Development Environment) | 開発環境には、メイン、カスタムブランチ、ホットフィックスブランチが含まれます。 |
環境(Environment) | 環境にはブランチが含まれます。ライブと開発の2つの環境があります。環境は使用するデータベースによって定義されます(例えば、ライブ環境はライブデータベースを使用し、開発環境は開発データベースを使用します)。 |
デプロイ、デプロイメント(Deploy, Deployment) | ブランチをデプロイするとは、変更をライブ環境にプッシュすることです。メインブランチとホットフィックスブランチのみがライブにデプロイできます。 |
子ブランチ(Child Branch) | 親ブランチを持つ ブランチです。子ブランチもまた親ブランチになることがあります。 |
カスタムブランチ(Custom Branch) | 高いプランのアプリでは、一つ以上のカスタムブランチを持つことができます。 |
コンフリクト(Conflict) | マージプロセス中に、基本ブランチとソースブランチが最後に同期されて以来、同じものに異なる変更を加えた場合に発生します。 |
コンフリ クト解決(Conflict Resolution) | コンフリクトを解決するプロセスです。ページごとにコンフリクトを整理し、ページごとに一方のブランチを優先してすべてのコンフリクトを解決するオプションを提供します。 |
やり方(ブランチの作成から削除まで)
1. ブランチの作成
1. ベースブランチ(大抵はメイン環境)からCreate a new branchをクリックしてブランチ名(Branch name)とブランチ説明(Branch description)を入力してブランチを作成する
⚠️ブランチ名は開発時は数字を使用し、時系列がわかるようにすることをオススメします。
例) No1-login、No2-chat_list など
⚠️ブランチ説明は必須ではないですが、どのような開発や修正を行うかを後から見返してわかるように書いておきましょう。
2. 開発や修正はそのブランチ内で必ず行う
2. 親から子への変更をマージ(大抵はメイン環境を該当ブランチに同期させる)
1. 該当のブランチでSync withを選択して親ブランチ(メイン環境)と同期をさせる
2. コンフリクトがある場合は、コンフリクト内容を精査してコンフリクトを解決する
コンフリクトの解決の仕方
1. 自分の担当範囲かどうか確認
2. 担当範囲だったら適切なブランチの実装・修正を取り込む
3. 担当範囲外の時は担当の人と協議して適切なブランチの実装・修正を取り込む
3. 子ブランチで必要なテストを実行
・親ブランチ(メイン環境)の変更分がきちんと子ブランチに反映せれているかエラーがないかをテストする
4. 子から親への変更をマージ
・親ブランチに移動して、Merge changes from another branchをクリックして該当のブランチをマージする