從 BRICKS 伺服器將最新版本的應用程式檔案拉取至您的本機專案。Documentation Index
Fetch the complete documentation index at: https://docs.bricks.tools/llms.txt
Use this file to discover all available pages before exploring further.
從伺服器拉取檔案
- 點選聊天面板標題列中的操作 > 拉取
- 檢視確認對話框中的警告
- 點選拉取或強制拉取
拉取(預設)
拉取會藉由暫時的BRICKS_PROJECT_try-pull-application 分支(模組則為 …try-pull-module),將伺服器的變更整合到您的 main 分支:
- 若有未暫存的變更會拒絕執行,請先 commit 或 stash。
- 當您的
HEAD已和伺服器 commit 相同時,會以「Already up to date」中止。 - 以您上一次同步的 commit 為起點建立 try-pull 分支(見下方的同步標記),套用新檔案後 commit。
- 切換到
main並以三方合併(3-way merge)的方式把 try-pull 分支併回去。 - 合併後刪除 try-pull 分支,您不需要自行管理側分支。
- 紀錄新的
HEAD作為下次同步的起點。
解決合併衝突
當合併產生衝突時,CTOR 會把衝突標記直接 commit 在main 上(使用 --no-verify 以避免 pre-commit hook 拒絕此中間狀態),對話框則會顯示拉取警告。接著自動編譯橫幅會把衝突標記回報為 typecheck 錯誤——直接在 main 上逐一修正,橫幅會隨著您修好的檔案逐步清除。
同步標記
.bricks/.last-pushed-commit 是每個 clone 各自獨立的檔案,紀錄您最近一次與伺服器同步的 commit。每次成功的 deploy、Update Config 或非強制拉取後,CTOR 都會更新此檔案,並在下一次拉取時優先使用它作為合併基準。當標記不存在時(例如剛 clone 完),CTOR 會回退至伺服器的最近 commit id;若兩者都無法在本機歷史中找到,則會直接從 HEAD 建立 try-pull 分支,三方合併會收斂到相同的結果。
強制拉取
強制拉取會留在目前的分支、自動 commit 未暫存的變更(commit 訊息為chore(force-pull): saved unstaged changes before pull),並以伺服器版本覆寫本機檔案。它不會更動同步標記——該標記由 deploy、Update Config 與非強制拉取流程負責維護。