Source Control
Staging & Committing
Review every change before it's committed, at whatever granularity you need — whole files or individual lines.
Staging changes
Hover any file in the Changes group and click the + icon to stage it, or stage everything at once from the group's own +. Staged files move into their own Staged Changes group, ready to commit.
Review the diff
Click any changed file to open a side-by-side (or inline, your preference) diff against the last committed version.
Stage selectively
Stage a subset of a file's changes by selecting specific lines in the diff and choosing Stage Selected Ranges — useful when a file has both a real fix and an unrelated formatting change you want in separate commits.
Write a commit message
Type into the message box at the top of the Source Control view. It remembers drafts per-branch, so switching branches and back doesn't lose an in-progress message.
Commit
Press Ctrl+Enter (Cmd+Enter on macOS) or click the checkmark. With nothing staged, committing stages and commits every tracked change instead.
Amending a commit
Use the dropdown next to the commit button (or Git: Commit (Amend) from the Command Palette) to fold your staged changes into the previous commit instead of creating a new one.
Commit message conventions
Gunamaya doesn't enforce a commit message format, but it does help you follow
one: the message box shows a subject-line length guide, and if your project
has a commit template configured in Git itself
(commit.template), it's respected automatically.
Discarding changes
Right-click any file in the Changes group and choose Discard Changes to revert it to its last committed state — a confirmation is shown first since this can't be undone with Gunamaya's own undo stack (Git's reflog is still your safety net at the repository level).