Changes and commits
The Changes view (⌘2) is the main workbench for everyday commits. Changes are shown in four groups, so you decide exactly what goes into the next commit.
Four groups
| Group | Contents |
|---|---|
| Conflicts | Files still in conflict after a merge, rebase, or cherry-pick paused; select one to open conflict resolution |
| Staged | Changes in the index that will go into the next commit |
| Unstaged | Changes to tracked files that are not staged yet |
| Untracked | New files Git is not tracking yet |
Select a file to see its diff on the right.
Staging and unstaging
- File: stage or unstage a whole file from its row.
- Hunk: stage or unstage one hunk from its hunk bar in the diff.
- Selected lines: select some lines in the diff and stage or unstage only those.
Line-level operations are built on git apply, giving the same result as partial staging on the command line.
Discarding changes
Discarding works at the same three levels — file, hunk, and selected lines — and you can also delete untracked files or "discard all" for a group.
- Discarding a tracked file only affects the unstaged part; staged content is kept.
- Deleting untracked files uses
git clean. - Every discard asks for confirmation and lists the affected paths. Discarded content cannot be restored from Fox Git, so check before you confirm.
Commit and amend
Write a message in the commit box and commit what is staged. Tick amend to change the previous commit's message or fold the currently staged changes into it. If the previous commit was already pushed, amend rewrites published history and the next push needs Force Push with Lease.
After committing, the History view selects the new commit automatically.
Stashes
Create a stash from the Changes header or the command palette with Stash Changes… (⌘⇧S), choosing:
- all changes;
- unstaged changes only;
- including untracked files.
The Stashes view (⌘5) lists every stash. Select one to see its files and diffs, then Apply, Pop, Drop, or create a branch from it. Pop and Drop ask for confirmation. Fox Git locates stash@{n} again by the stash's SHA, so an action never hits the wrong entry after the list changes.
If Apply or Pop causes conflicts, you continue in conflict resolution.