Scope and host
The panel manages one repository at a time, and the host follows the focused terminal: remote repositories run through the SSH exec channel, local ones are spawned directly on the machine.
- Remote commands are wrapped as
env LC_ALL=C GIT_TERMINAL_PROMPT=0 … bash -lc. - Local commands are spawned with
HideConsole. - All operations call the real
gitCLI rather than reimplementing Git internals.
Reading and reviewing
- Status from porcelain v2.
- Line-by-line diff, capped at 2 MB.
- Paginated history with commit-graph lanes.
- Blame.
- Conflict three-way view, with an operation abort.
Changing the repository
- Branch and remote management.
- Stage, unstage and discard.
- Commit and amend.
fetch,pullandpush.- Stash.
clonewith progress.- Repository scanning and
git init.
Built-in safeguards
pullalways uses--ff-only.- Force push is only offered as
--force-with-leaseand requires a second confirmation. - Conflicts can be viewed three-way and aborted; the force-push confirmation names the target remote and branch.
- Path arguments are never concatenated into a shell command. The backend rejects absolute paths, drive letters,
backslashes and
... - “Local ignore” writes only to
.git/info/exclude, never to a tracked.gitignore.
Related chapters
- Chapter 5 — Remote file editing for direct file changes.
- Chapter 7 — Docker & host analysis for the same host-selection rule.