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

# Git 工作流

> 在 Vibex 中檢查、隔離、提交和交付程式碼改動。

Vibex 提供 Git 原生審查介面。它不會替你決定何時提交，也不會在停止 Agent 時自動回滾工作區。

開啟右側欄的 **Git** 圖示進入 Git 面板，面板頂部有 **變更** 和 **提交** 兩個子標籤。

## 檢視改動

**變更** 標籤顯示工作區狀態和差異：

* 檔案按狀態分組，用單字母程式碼標記：`M` 已修改、`A` 已新增、`D` 已刪除、`R` 已重新命名、`C` 已複製、`U` 未跟蹤、`!` 衝突。
* 選擇檔案後右側顯示**統一格式（unified）的 diff**，並標明是 `staged` 還是 `unstaged`。
* 空白狀態顯示 **沒有 Git 狀態**，沒有差異時顯示 **沒有差異**。

**提交** 標籤顯示提交歷史，支援：

* **搜尋提交資訊或程式碼** 按提交資訊搜尋。
* **分支** 和作者篩選（作者選擇器預設 **所有使用者**）。
* 按作者日期範圍篩選。
* 點選提交開啟 **提交詳情** 抽屜檢視完整差異。抽屜標題截斷到 48 個字元，完整標題放進提示；提交正文摺疊為三行，可點選或按鍵盤展開；摘要行顯示變更檔案數、總新增與總刪除，並提供 **雙欄顯示**、**自動換行**和 **摺疊全部檔案** 開關；檔案行高 36 畫素，每條 diff 行以顏色豎條開頭。

> [!NOTE]
>
> 只有 **提交詳情** 抽屜提供並排檢視；工作區差異檢視目前仍只有統一格式。也**沒有逐塊（hunk）暫存**——暫存以整個檔案為單位。沒有 stash 和 tag 介面，需要時請在終端機裡操作。

## 分支與提交

Git 面板工具欄提供 **獲取**、**拉取**、**推送**、**重新整理 Git**，以及分支建立 / 切換和更多操作選單。**獲取** 只更新遠端引用；**拉取** 會把抓到的提交放進當前檢出的分支。

典型流程：

1. 建立或切換分支。
2. 閱讀檔案差異。
3. 在檔案上執行 **暫存** 或 **取消暫存**（整檔案）。
4. 在 **提交資訊** 輸入框填寫訊息並提交。
5. 需要追加到上一個提交時使用 **修正上次提交**。
6. **獲取** 更新遠端引用，**拉取** 把提交帶進當前分支，**推送** 釋出本地提交。

> [!WARNING]
>
> **回滾**、**檢出分支**、**修正上次提交**、**推送**、**合併 Worktree** 和 **丟棄 Worktree** 都會彈出確認對話方塊，因為它們可能改變已有歷史或遠端狀態。執行前確認分支、遠端和待處理差異；團隊策略要求時先建立備份分支。

## Worktree

Worktree 是同一個專案下的獨立工作區，詳見[專案與工作區](https://vibex.peatboy.com/docs/zh-TW/workspaces.md)。Git 面板提供完整生命週期：

| 操作 | 說明 |
| - | - |
| **新建 Worktree** | 建立隔離目錄和關聯分支。 |
| **檢查改動** / **標記可合併** | 推進到可合併狀態。 |
| **合併** / **Rebase** | 合併回目標分支（分別對應 `NoFfMerge` 和 `RebaseAndMerge`）。 |
| **標記已解決** | 逐檔案解決衝突後標記該檔案已處理。 |
| **中止合併** | 放棄正在進行的合併。 |
| **重新命名 Worktree** / **刪除 Worktree** | 重新命名或刪除。刪除會連同未提交內容一起移除。 |
| **收尾 Worktree** | 在不再需要時結束一個受管 worktree；行動端也可以檢視狀態並收尾。 |

衝突按檔案逐個處理，可以針對每個檔案選擇保留目標端或來源端版本。行動端可以檢視每個受管 worktree 的狀態、從列表裡選擇 worktree，並收尾一個 worktree；實際執行始終發生在權威端。

> [!NOTE]
>
> **本地** 工作區直接修改主檢出目錄；**Worktree** 讓並行任務擁有獨立目錄。無論哪種模式，都以權威執行階段的 Git 狀態為準。

## 常見流程

```text theme={null}
檢視 status -> 閱讀 diff -> 執行測試 -> stage -> commit -> fetch -> rebase/merge -> push
```

測試或 Agent 仍在執行階段不要切換分支。提交前檢查敏感檔案、生成物和憑據是否被意外加入。

## 行動端

行動端可以讀取 Git 狀態與差異，也可以執行 stage / unstage / revert / commit / fetch / push 和建立 worktree——前提是裝置權限級別為 `full_control`。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.