> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ブランチを使った作業

> ブランチを作成して、新しいアイデアを安全に構築・テストし、複数を並行して作業してから、準備ができたらアプリにマージします。

ブランチを使うと、アプリに影響を与えずに新しいアイデア、機能、またはリデザインを試すことができます。各ブランチには独自のチャットと独自のライブプレビューがあり、**複数のブランチで並行して作業** して、結果に満足したら各ブランチをアプリにマージできます。

<Frame caption="メインアプリと並行して複数のブランチで作業">
  <img src="https://mintcdn.com/base44/eYkTlSr5OX-PNhnp/images/Branches-hero.png?fit=max&auto=format&n=eYkTlSr5OX-PNhnp&q=85&s=1bb140d0e46f3e392dfabc8d8b0cd77a" alt="アプリのプレビューの隣でいくつかのブランチをリストするブランチメニュー" width="1200" height="660" data-path="images/Branches-hero.png" />
</Frame>

<CardGroup cols={2}>
  <Card title="リデザインをテスト" icon="palette">
    アプリの新しい見た目を試して、現在のバージョンと比較します。気が変わったら、ブランチを残すだけです。
  </Card>

  <Card title="ライブアプリを準備万端に保つ" icon="rocket">
    プロジェクトの途中で小さな修正が出てきたら、すぐに main から修正して公開します。進行中の大きな作業はブランチに安全に残ります。
  </Card>

  <Card title="後でリリースする機能を構築" icon="calendar">
    リリースに先立って作業し、リリース日までブランチに機能を保持します。
  </Card>

  <Card title="並行して作業" icon="users">
    複数のブランチで同時に構築し、それぞれ独自のブランチで、チームと一緒にさまざまなアイデアに一度に取り組みます。
  </Card>
</CardGroup>

<Note>
  ブランチは [GitHub](/developers/app-code/local-development/github) 接続と併用できます。Base44 は各ブランチをリポジトリ内の実際のブランチとして保持し、[既にあるブランチ上に構築](#importing-a-branch-from-github) することもできます。
</Note>

***

## ブランチの仕組み

アプリのメインバージョンは **main** と呼ばれます。ブランチを作成すると、Base44 は main の現在の状態から別の作業ラインを開始します。

**各ブランチには独自の以下があります:**

* **チャット。** ブランチでの会話は main とは別であり、AI は以前に構築したコンテキストを保持します。
* **プレビュー。** ブランチの変更を専用のライブプレビューで確認でき、main はそのまま保たれます。
* **アプリのデザインとページのコピー。** ブランチで行った変更は、マージするまでそのブランチにとどまります。
* **ビルド。** 各ブランチは独自にビルドされるため、**ブランチは並行して実行** され、1 つで作業しながら別のもので構築を続けられます。
* **バージョン履歴。** ブランチで保存したバージョンはそのブランチにリストされ、main に触れずに任意のバージョンに戻れます。

**main とすべてのブランチ間で共有:**

* **アプリのデータ。** すべてのブランチは main と同じライブレコードで動作し、レコードの変更は main で行われます。
* **接続と自動化。** インテグレーション、シークレット、自動化、ワークフロー、およびアプリ内エージェント。
* **アプリ設定と公開。** アプリの設定、ドメイン、公開バージョン。

<Warning>
  ブランチは実際のライブデータでアプリをプレビューします。ブランチをプレビューしている間に追加、変更、または削除したレコードは、アプリがどこでも使用する同じデータに影響します。
</Warning>

<Tip>
  ライブデータに触れずにブランチで実験するには、作業中にプレビューをテストデータに切り替えます。テストデータは [**Builder プラン**](https://base44.com/pricing) 以上で利用できます。[テストデータでアプリをテストする](/documentation/managing-app-data/testing-your-data) 方法について詳しく学びましょう。
</Tip>

***

## ブランチの作成

構築したいものを説明すると、Base44 がブランチを作成し、最初のメッセージに基づいて名前を付け、すぐに構築を開始します。

<Tip>
  **開始前:** アプリがかなり前に構築された場合、最初のブランチを作成する前に main で 1 つの変更を行う必要があるかもしれません。それがアプリに該当する場合、Base44 は試みたときに知らせます。
</Tip>

**ブランチを作成するには:**

1. アプリエディターで、チャットパネルの上部にあるアプリのロゴまたは名前をクリックします。
2. **Create new branch** をクリックします。
3. 提案の 1 つを選ぶか、チャットボックスに構築したい内容を入力します。
4. メッセージを送信します。

<Frame caption="ブランチメニューから最初のブランチを作成">
  <img className="mx-auto" style={{ width:"55%" }} alt="アプリ名の下に開いたブランチメニュー、Create new branch ボタンとその下の Create New Branch パネル" src="https://mintcdn.com/base44/TFvuxmBp3xPcDe7z/images/creating-new-branch.png?fit=max&auto=format&n=TFvuxmBp3xPcDe7z&q=85&s=9f2cf3f2ac4c3c7c1985676da9bf8c7b" width="660" height="938" data-path="images/creating-new-branch.png" />
</Frame>

<Note>
  ブランチは常に main から始まります。別のブランチにいるときにブランチを作成しても、新しいブランチはやはり main から始まります。

  ブランチは携帯電話でも、モバイルブラウザと Base44 アプリの両方で動作します。アプリにブランチができるとすぐに、ブランチメニューはエディターの上部に表示されるので、デスクトップブラウザから最初のブランチを作成してから、電話でブランチを切り替え、構築、マージします。
</Note>

***

## GitHub からブランチをインポート

アプリが GitHub に接続されている場合、リポジトリに既に存在するブランチで構築できます。Base44 はそのブランチ自体で作業するため、変更と Base44 の変更はリポジトリ内の同じブランチに送信されます。

**GitHub からブランチをインポートするには:**

1. アプリエディターで、チャットパネルの上部にあるアプリのロゴまたは名前をクリックします。
2. **Import from GitHub** をクリックします。
3. 必要なブランチを検索して選択します。
4. **Import** をクリックします。

<Note>
  アプリが接続されているリポジトリからインポートします。Base44 で作成したブランチは、その同じリポジトリに新しいブランチを取得します。
</Note>

***

## ブランチでの作業

ブランチにいるとき、チャットパネルの上部でブランチの名前がアプリの名前を置き換え、AI が作業しているときにスピニングアイコンが表示されます。main で構築するのと同じ方法でブランチで構築します: チャットで必要なものを説明します。

いくつかのことがブランチでは異なる方法で動作します:

* **Merge to main** が **Publish** ボタンを置き換えます。マージ後に main から変更を公開します。
* プレビューには、ブランチのアプリのバージョンが表示されます。
* ページ URL にはブランチが含まれるため、そのブランチでアプリエディターを開くリンクを共有できます。

<Tip>
  **ブランチは並行して実行されます。** あるブランチでリクエストを送信し、別のブランチに切り替えて、最初のブランチが完了するまでそこで構築を続けます。アプリは最大 5 つのビルドを同時に実行するため、あなたとあなたのチームは、それぞれ独自のブランチで、複数のアイデアに一度に取り組めます。

  ブランチメニューにはどのブランチがビルド中かが表示されるため、進行中に確認できます。
</Tip>

### main で発生するアクション

ブランチはアプリエディターで行うほとんどの作業をカバーします。これらのアクションは main で発生します:

* アプリの公開
* シークレット、コネクター、自動化、ワークフロー、アプリ内エージェントの作成または変更
* コードエディターでのコードの直接編集
* アプリのテーマ設定の変更
* チャットでのメッセージの取り消し、または編集して再送信
* Figma からページを追加
* レコードの追加、変更、削除、またはインポートを AI に依頼

<Note>
  ブランチでこれらのいずれかを要求すると、Base44 は main で行うか、最初にブランチをマージするように依頼します。
</Note>

### ブランチのエンティティ

ブランチでエンティティを作成し、既にあるエンティティにフィールドを追加できます。両方はそのブランチ独自のプレビューですぐにライブになります。作成したエンティティでは、[データ権限](/Setting-up-your-app/Managing-security-settings) を含むすべてを設定します。既存のエンティティでは、追加が適用されるため、既存のレコードにまだ含まれていないため、新しいフィールドはオプションのままにしてください。

エンティティやフィールドの削除、既存フィールドのタイプや必須かどうかの変更、データ権限の変更は main で行います。そこで変更を加えるとブランチはすぐに反映され、マージや更新は必要ありません。

レコードはアプリのライブデータで、main と共有されているため、ブランチではなく main でレコードの変更を AI に依頼してください。ブランチをプレビュー中に自分でレコードを追加、変更、削除することは通常どおりに機能し、アプリがどこでも使用する同じデータを変更します。

### ブランチのバックエンド関数

ブランチでバックエンド関数を追加および変更できます。ブランチは触れる各関数のコピーを取得し、ブランチプレビューはそのコピーを呼び出し、ブランチをマージすると main にデプロイされます。アプリがまだこれを行えない場合、Base44 は main でバックエンドの変更を行うように依頼します。

***

## ブランチでのバージョン履歴の使用

ブランチで保存されたすべてのバージョンは、そのブランチ独自のバージョン履歴にリストされるため、ブランチがどのように開発されたかを振り返り、以前のポイントに戻れます。バージョンを復元するとそのブランチのみが変更され、main はそのままの状態を保ちます。マージされたブランチはバージョン履歴を読み取り可能に保ち、ブランチがまだアクティブな間に復元できます。

**ブランチの以前のバージョンを復元するには:**

1. ブランチで、チャットパネルの上部にある **Version history** アイコンをクリックします。
2. リスト内のバージョンをクリックして、プレビューに読み込みます。
3. そのバージョンの隣にある **More options** アイコン <Icon icon="ellipsis" /> をクリックします。
4. **Revert to this version** をクリックします。

復元により、ブランチのページ、デザイン、エンティティ、バックエンド関数がそのバージョンに戻り、ブランチのチャットはそれを作成したメッセージに戻ります。レコードは main と共有されるため、そのまま残ります。後のバージョンはリストに残るため、いつでも前に進められます。

<Note>
  **Publish this version** は main でのみ利用可能です。公開は常にメインアプリを配信するためです。ブランチから作業をリリースするには、main にマージしてそこから公開します。
</Note>

<Tip>
  ブランチのビルドが終了し、main からの更新が完了したら、バージョンを復元します。ブランチがビジー状態の場合、Base44 は知らせるので、終了次第すぐに復元できます。
</Tip>

***

## ブランチ間の切り替え

いつでも main とブランチ間を移動でき、各ブランチはマージするまで変更を保持します。ブランチでは、**Merge to main** の隣にある **X** をクリックして main に戻ることもできます。

**別のブランチに切り替えるか main に戻るには:**

1. チャットパネルの上部にあるブランチ名をクリックします。
2. リストからブランチを選択するか、**Main chat** を選択して main に戻ります。

<Frame caption="main とブランチ間の切り替え">
  <img className="mx-auto" style={{ width:"55%" }} alt="ブランチのリストの上に Main chat が表示された、ブランチで開いたブランチメニュー" src="https://mintcdn.com/base44/TEODQUOeOLz9wLnr/images/switching-branches.png?fit=max&auto=format&n=TEODQUOeOLz9wLnr&q=85&s=65c7341c40def5c857bf1a5927437e4b" width="692" height="868" data-path="images/switching-branches.png" />
</Frame>

リスト内の各ブランチには現在のステータスが表示されます:

| ステータス       | 意味                                              |
| ----------- | ----------------------------------------------- |
| **Active**  | ブランチは開いており、構築の準備ができています。                        |
| **Working** | AI が現在このブランチで構築中です。                             |
| **Merging** | ブランチが main にマージされています。                          |
| **Merged**  | ブランチが main にマージされました。そのチャットは読み取り可能ですが、読み取り専用です。 |

<Note>
  AI が構築中もブランチを切り替えられ、離れたブランチで作業を続けます。main で先に編集を保存または破棄してください。
</Note>

***

## main の変更でブランチを更新する

ブランチが開いているときに main が変更されると、ブランチのチャットボックスの上にバナーが表示されます。main でどれだけ変更があったか、そのうちどれがブランチと重なっているかを知らせます。

更新すると、AI は main の変更をブランチと組み合わせます。一部の変更が重なる場合、AI がそれらを解決します。2 つのバージョンが本当に競合する場合、AI はチャットで質問して、何を残すかを決められるようにします。

**main の最新の変更をブランチに反映するには:**

1. ブランチで、チャットボックスの上にある更新バナーを見つけます。
2. **Update branch** をクリックします。

ブランチメニューから更新を開始することもできます。ブランチの隣にある **More actions** アイコン <Icon icon="ellipsis" /> をクリックし、**Update from main** をクリックします。

AI チャットに main の最新の変更を反映するように依頼すると、クリックする **Update branch** ボタン付きのカードがチャットに配置されます。

<Note>
  更新に問題が発生した場合、Base44 はロールバックし、ブランチの作業は変更されません。
</Note>

***

## ブランチを main にマージする

マージにより、ブランチで構築したすべてが main に反映されます。変更は main から公開したときにのみアプリのユーザーに届くため、何をいつリリースするかを正確に決められます。

マージ後、ブランチの変更の概要が main のチャットに表示され、ブランチはマージ済みとしてブランチリストに残るため、そのチャット履歴は読めますが、読み取り専用になります。

**ブランチをマージするには:**

1. ブランチで、エディターの上部にある **Merge to main** をクリックします。
2. 確認を確認してから、**Merge to main** をクリックします。

ブランチメニューからマージすることもできます。ブランチの隣にある **More actions** アイコン <Icon icon="ellipsis" /> をクリックし、**Merge to main** をクリックします。

AI チャットにブランチをマージするように依頼すると、クリックする **Merge to main** ボタン付きのカードがチャットに配置されます。

<Note>
  ブランチが main で行われた変更と競合する場合、Base44 はまず更新するように依頼します。[main からブランチを更新](#updating-a-branch-with-changes-from-main) して競合を解決し、その後再度マージしてください。
</Note>

***

## ブランチの削除

アイデアが終わったらブランチを削除して、リストからクリアします。アプリと他のブランチはそのままです。

<Warning>
  ブランチの削除は永続的です。ブランチとそのチャットが削除され、これは元に戻せません。作業を保持するには、まずブランチを main にマージしてください。
</Warning>

**ブランチを削除するには:**

1. チャットパネルの上部にあるブランチ名をクリックします。
2. 削除したいブランチの隣にある **More actions** アイコン <Icon icon="ellipsis" /> をクリックします。
3. **Delete** をクリックします。
4. 確認を確認してから、**Delete branch** をクリックします。

<Frame caption="ブランチで More actions メニューを開く">
  <img className="mx-auto" style={{ width:"58%" }} alt="ブランチで More actions メニューが開いた状態のブランチメニュー、Merge to main、Update from main、Delete が表示" src="https://mintcdn.com/base44/aGvTNx4rVci6s1Hq/images/more-actions-branches.png?fit=max&auto=format&n=aGvTNx4rVci6s1Hq&q=85&s=5992199dcd0afd42dde4af7fc1b67f67" width="744" height="978" data-path="images/more-actions-branches.png" />
</Frame>

<Note>
  AI がブランチでのビルドを終了し、main からの更新が完了したら、ブランチを削除できます。マージされたブランチは、作業の記録としてリストに残ります。
</Note>

***

## FAQ

以下の質問をクリックして、ブランチについて詳しく学びましょう。

<AccordionGroup>
  <Accordion title="ブランチからアプリを公開できますか?">
    いいえ。公開は常に main から行われます。ブランチでは、**Publish** ボタンが **Merge to main** に置き換わります。まずブランチをマージしてから、main から公開してください。
  </Accordion>

  <Accordion title="ブランチには独自のデータがありますか?">
    いいえ。すべてのブランチは main と同じライブデータを共有します。ブランチをプレビューしている間にレコードを追加、変更、または削除すると、それらの変更はアプリの実際のデータにどこでも影響します。実験をライブデータから分離しておくには、ブランチで作業する間、プレビューを [テストデータ](/documentation/managing-app-data/testing-your-data) に切り替えます。
  </Accordion>

  <Accordion title="いくつのブランチを持てますか?">
    設定された制限はありません。一度に必要なだけ多くのブランチを保持し、それぞれ準備ができ次第マージできます。
  </Accordion>

  <Accordion title="マージ後、ブランチはどうなりますか?">
    ブランチはマージ済みとしてマークされてブランチリストに残り、読み取り専用になります。いつでも開いてそのチャット履歴を読めるため、作業がどのように行われたかの記録が保持されます。中断した場所から続けるには、main から新しいブランチを作成します。
  </Accordion>

  <Accordion title="チームと私は同時に異なるブランチで作業できますか?">
    はい。各共同作業者は異なるブランチを開いてそこでチャットでき、各ブランチは独自にビルドされます。アプリは最大 5 つのビルドを同時に実行し、それを超えるものはキューで待って順番に実行されます。

    ブランチの作成にはアプリへの編集アクセスが必要なので、**Viewer** ロールのメンバーはブランチを開いてそのチャットを読めます。[ワークスペースのロール](/Account-and-billing/Managing-your-workspaces) について詳しく学びましょう。
  </Accordion>

  <Accordion title="ブランチは追加のクレジットを使用しますか?">
    いいえ。ブランチでの構築は、main での構築と同じ方法で、同じクレジット残高からクレジットを使用します。
  </Accordion>

  <Accordion title="GitHub に接続されたアプリでブランチを使用できますか?">
    はい。任意のアプリと同じようにブランチを作成すると、Base44 は接続された [GitHub](/developers/app-code/local-development/github) リポジトリに一致するブランチを追加します。リポジトリに既にあるブランチで構築するには、[GitHub からインポート](#importing-a-branch-from-github) を使用します。
  </Accordion>

  <Accordion title="ブランチがある状態でアプリを GitHub に接続できますか?">
    はい。Base44 は接続時にオープンなブランチをリポジトリに追加するため、先にマージや削除する必要はありません。ブランチがその瞬間にビルド中の場合は、終了するのを待ってから接続してください。
  </Accordion>

  <Accordion title="Base44 に移行したアプリでブランチを使用できますか?">
    [既存のプロジェクトのインポート](/Getting-Started/migrating-an-existing-app) で持ち込んだアプリは、独自のリポジトリの git ブランチと連携し続けるため、ブランチメニューはそれらのアプリエディターの一部ではありません。
  </Accordion>
</AccordionGroup>

<Note>このページは AI によって翻訳されました。最も正確で最新の情報については、[英語版](/) を参照してください。</Note>
