What is implemented, when controls disable, and what still requires the CLI.
Git operations and safeguards
Current operations
| Area | Operations |
|---|---|
| Working tree | Stage, unstage, discard, clean, inspect diff. |
| Commits | Commit, amend, checkout, revert, reset soft/mixed/hard. |
| Stash | Create, apply/pop where available, and drop with confirmation. |
| Remote | Fetch, fast-forward-only pull, push, and initial upstream setup. |
| Explore | History filters, columns, refs, source tree, file tabs, and appearance. |
Controls reflect repository preconditions
Actions disable when Git would reject them. For example, revert is unavailable while the index contains staged work, and amend is enabled only for HEAD. This avoids offering an operation that is known to violate the current repository state.
Process execution
- Git commands use argument arrays instead of interpolated shell strings.
- Literal pathspec handling avoids treating unusual filenames as Git options or patterns.
- Blocking Git commands run on background threads so the UI remains responsive.
- Authentication is delegated to configured Git credential helpers and SSH agents.