Skip to content

Stage and create a commit

Choose what goes into the next commit, write the message, and record the change in the project repository.

View Markdown

This is the path from work to record: choosing what goes in, writing the message, and committing.

Before you start

  • An open project, with a Git repository.
  • No unresolved conflict. With an open conflict, the commit dock is blocked on purpose: recording a half-done resolution is worse than recording nothing.
  • To use the button that writes the message with the agent, a configured assistant. Without it, the button simply doesn’t appear.

1. Stage files

Each row of the Changes section has the stage or unstage action:

  • Stage — that file’s change becomes part of the next commit.
  • Unstage — undoes the staging of that file, without touching its content.

There are two shortcuts for working in bulk:

  1. Select multiple files — enters a selection mode; with the selection made, the actions apply to the set, and the panel reports how many files are selected.
  2. Stage everything — acts on the whole group at once (the same menu has the per-group version and the version for all eligible files).

What is not staged in bulk: rows in unresolved conflict. Staging a conflicted file without having looked at the resolution erases the conflict record before you review it — the panel leaves that decision to the individual gesture.

2. Write the message

The dock, at the footer of the panel, is where the message lives. It is anchored there on purpose: in the old model the commit box went up and down with the number of changed files, and the same gesture changed place.

Two ways to write:

  • Type the message in the field.
  • Write the message with the agent — the button inside the field asks an assistant for a summary of the changes. While it works, the panel says the agent is writing and offers to stop. If there are no changes to summarize, the panel warns instead of returning an empty message.

Ctrl+Enter (or ⌘+Enter) commits without taking your hands off the keyboard.

3. Commit

The Commit button has a behavior worth knowing: with nothing staged, it stages all eligible changes and commits — the name promises the commit, not two clicks. The button’s own text changes to say which of the two cases is yours: “Commit what is staged” or “Stage all changes and commit”.

After success, the message draft is cleared. After a failure, it is not: you don’t lose what you wrote.

Result

  • The commit exists in the project repository and appears in the Commits section.
  • The tree is clean: the files that went in leave the changes list.
  • The header updates the count of unpublished commits.

Cleanup and care

  • An empty message is refused. “Write a message to commit” is the panel’s answer.
  • With nothing to commit, the panel warns; it does not create an empty commit.
  • Stage “stage everything” carefully. Staging automatically may include files you didn’t want in that commit — build output, log, draft. When the commit has a single subject, stage per file or per group.
  • A commit is not publishing. Nothing leaves your machine until you publish the branch.
  • Undoing a commit has no button in the panel. If you committed by mistake, the path is through the project terminal, with the care the operation demands — and, with real users working in the repository, prefer a new commit that corrects over rewriting already-published history.

Next steps