BRICKS サーバーからローカルプロジェクトにアプリケーションファイルの最新バージョンをプルします。
サーバーからファイルをプルする
- チャットパネルのヘッダーにあるアクション > プルをクリックする
- 確認ダイアログの警告を確認する
- プルまたは強制プルをクリックする
ダイアログには 2 つのモードがあります。プルはデフォルトの安全な方法で、強制プルは従来の上書き型フローです。
プル(デフォルト)
プルは一時的な BRICKS_PROJECT_try-pull-application ブランチ(モジュールの場合は …try-pull-module)を経由して、サーバーの変更を main ブランチに取り込みます。
- 未ステージの変更があると実行を拒否します。事前に commit または stash してください。
HEAD がすでにサーバーの commit と一致している場合は「Already up to date」で中止します。
- 前回同期した commit(下記の同期マーカーを参照)を起点に try-pull ブランチを作成し、新しいファイルを適用して commit します。
main をチェックアウトし、3-way マージで try-pull ブランチを取り込みます。
- マージ後に try-pull ブランチを削除するため、サイドブランチを自分で管理する必要はありません。
- 新しい
HEAD を次回同期の起点として記録します。
マージ競合の解決
マージで競合が発生した場合、CTOR は競合マーカーをそのまま main 上に commit し(pre-commit フックが中間状態を拒否しないよう --no-verify を使用)、ダイアログにはプル警告が表示されます。続いて自動コンパイルバナーが競合マーカーを typecheck エラーとして表示するので、main 上で 1 ファイルずつ解決してください。修正が進むにつれてバナーは順次クリアされます。
同期マーカー
.bricks/.last-pushed-commit は clone ごとに独立したファイルで、サーバーと最後に同期した commit を記録します。CTOR は deploy、Update Config、非強制プルが成功するたびにこのファイルを更新し、次回のプルではこれをマージベースとして優先します。マーカーが存在しない場合(クローン直後など)は、サーバーの最新 commit id にフォールバックします。両方ともローカル履歴に存在しない場合は try-pull ブランチを HEAD から作成し、3-way マージは同じ結果に収束します。
強制プル
強制プルは現在のブランチに留まり、未ステージの変更を自動 commit(メッセージは chore(force-pull): saved unstaged changes before pull)してから、ローカルファイルをサーバー版で上書きします。同期マーカーは変更しません — マーカーは deploy、Update Config、非強制プルのフローが管理します。
強制プルはサーバーバージョンと競合するローカルの変更を上書きします。ローカルの変更を保持する必要がない場合のみ使用してください。