Review changes
The Changes tab shows workspace status and diffs:- Files are grouped by status and marked with a single-letter code:
Mmodified,Aadded,Ddeleted,Rrenamed,Ccopied,Uuntracked,!conflicted. - Selecting a file shows a unified diff on the right and states whether it is
stagedorunstaged. - An empty state shows No Git status, and no differences shows No diff.
- Search commits to search by commit message.
- Branch and author filters (the author picker defaults to All Users).
- Filtering by author date range.
- Clicking a commit to open the Commit detail drawer with the full diff. The drawer truncates its label to 48 characters with the whole subject in a tooltip, clamps the commit body to three lines with a click and keyboard expand toggle, and replaces the header badge with a summary row (changed-file count, total additions and deletions, plus Side-by-side diff, Wrap long lines, and Collapse all files toggles). File rows stand at 36px and every diff row starts with a colour rail.
Only the Commit detail drawer offers a side-by-side view; the working-tree diff view is still unified only. There is also no hunk-level staging — staging works on whole files. There is no stash or tag interface; use the terminal when you need those.
Branches and commits
The Git panel toolbar offers Fetch, Pull, Push, Refresh Git, branch creation and switching, and a menu of further actions. Fetch only updates remote references; Pull puts the fetched commits into the current checkout. A typical flow:- Create or switch a branch.
- Read the file diffs.
- Run Stage or Unstage on a file (whole file).
- Type a message into the Commit message field and commit.
- Use Amend commit when you need to append to the previous commit.
- Fetch updates remote references, Pull brings commits into the current branch, and Push publishes local commits.
Worktree
A worktree is a separate workspace under the same project — see Projects and workspaces. The Git panel covers the whole lifecycle:
Conflicts are handled file by file, and for each file you can keep either the target side or the source side. Mobile can view each managed worktree’s state, select one from the list, and finish one; execution always happens on the authoritative side.
A Local workspace modifies the main checkout directory directly; a Worktree gives parallel tasks their own directory. Either way, the authoritative runtime’s Git state is what counts.
Common flow
Mobile
Mobile can read Git status and diffs, and can stage / unstage / revert / commit / fetch / push and create worktrees — provided the device permission level isfull_control.