Save a version with Git

5 minute read · Projects & Git

A Git commit saves a named version of your project locally. It gives you a concrete point to review later as the app changes.

Save one understandable change

First choose a project or branch badge directly below the Source Control heading. Folder icons identify the main project folders; fork icons identify active, unmerged worktrees. A check mark and stronger colour identify the checkout being reviewed. Hover to confirm the parent and full path when names look similar. The changed-file count belongs to that checkout, not all projects combined.

Open source control and confirm the checkout and branch. Inspect staged, unstaged and untracked files. Use explicit staging if the commit should contain only part of the current work; otherwise review the full change set before choosing the all-changes commit action. Write a message that explains the resulting behavior, such as “Keep article edits after reload”. Commit-message assistance proposes text for review, not permission to commit without checking the files.

Selecting a badge changes the repository you inspect and act on. It does not move a chat to that branch. Choose the chat's working copy through Chat menu → Project & worktree…; use Review & merge there to finish isolated work. The tool panel keeps your chosen dimensions when you switch projects in this workspace.

Manual commit is available independently of an active agent. It does not require the automatic-commit proof conditions, so you remain responsible for choosing the right snapshot. A Git error must be resolved before treating the commit as saved.

Understand synchronization controls

Fetch refreshes remote information. Pull brings remote changes into the current checkout; push sends local commits to the remote. Publish branch is a distinct action for a branch that needs an upstream. The synchronize action pulls when behind and pushes when ahead, subject to the current checkout conditions. Review incoming/outgoing counts and branch information before invoking it.

A commit stays local until you explicitly push. Successful tests or automatic commit do not authorize a push or deployment. A dirty checkout, an active operation or a changed branch may require attention before a mutation can continue.

Resolve a conflict with evidence

Read which files conflict and which operation stopped. Inspect both intended changes, resolve the content and run the relevant checks again. Avoid discarding all local work just to make a pull succeed. Branch history shows bounded commits, parents, refs and tags so you can identify the intended base.

Git flow feature/release/hotfix operations use the configured conventional branches. Finishing a flow should identify the target and report partial failures; it does not silently authorize tagging, pushing or deployment. For independent checkout work, use worktrees.

Connect GitHub or GitLab

Open Account → Integrations and connect the hosting account through the available browser sign-in flow. Review the requested provider access and return to Vortex. The hosting account is separate from your Vortex login and your coding-agent account. Git credentials and tokens belong in protected integration settings, not project prompts.

Choose the repository and visibility before creating a remote or publishing a branch. Check the remote URL and branch/upstream in source control. Being able to list repositories does not prove that the account can push to a protected branch. A denied push may need repository permission, a review or a different target branch rather than another local commit.

Work through Git Flow

Use feature, release or hotfix operations when the repository follows those conventional branches. Inspect the configured base and current branch before starting. Keep the change bounded, review its diff and run the project's checks before finishing it.

Finish shows the target branches and reports any partial merge failure. Resolve that state before repeating the operation. Finishing is not permission to delete other work, create a tag, push or deploy automatically. Decide those actions separately and verify the hosting service's result after an authorized push. For simultaneous tasks that should not share files, use worktrees.

Related guides: worktrees, automatic commit conditions.

Source Control and history controls

Control Meaning
Project / branch badges Selects the exact checkout for its file changes, history and Git actions. The checked badge is active.
Source Control branch Displays the current branch and opens branch selection/actions. Changing branches can be blocked by local changes.
Changes Lists working-tree changes that have not been staged.
Staged Changes Lists the exact changes selected for the next commit.
Stage / + Adds the chosen file or supported selection to the index. It does not push it to a remote.
Unstage Removes the change from the index while retaining the working file.
Change selection / Selected changes Chooses a subset for the supported review action. Check the selection before committing or discarding.
Clear file selection Clears the UI selection without reverting the files.
Discard selected changes Reverts the selected working changes after the required confirmation.
Discard all unstaged changes Reverts the unstaged working changes in its stated scope. Review newly created files and the confirmation carefully.
Commit message Description recorded with the commit. Cmd+Enter / Ctrl+Enter invokes the commit action when available.
Commit Records the changes indicated by the current staged/selection state. Read the count and explanatory text; do not infer its scope from a previously selected file.
Pull and merge requests Opens supported GitHub/GitLab review actions for the connected repository.
Fetch / Pull / Push Fetch updates remote references; Pull integrates remote changes; Push publishes local commits. These have different effects and can require authentication.
Open Git graph / History Shows recorded commits and their relationships. Selecting a commit opens its details and changed files.
More actions / … → Stashes & history actions… Opens saved stashes and available history operations. Inspect the chosen stash/commit and operation before applying it.

A diff is a comparison, staging is a selection, a commit is a local history record, and a push publishes commits. For a safe first manual commit, stage one intended file, read the staged diff, write a specific message and check History afterward. Review automatic commits before enabling them.

Updated Sep 22, 2026 · Need a hand?