All docs

Git Integration

Built-in Git panel: staging, committing, branching, push/pull, diff viewer, stash, conflict resolution, and commit history search.

Vectrex Studio includes a full Git client in the sidebar. All common operations are available without leaving the IDE.

Open the Git panel by clicking the branch icon in the activity bar, or with Ctrl+Shift+G (Windows/Linux) / Cmd+Shift+G (macOS).

Git panel open — staged and unstaged file lists, commit message field, branch selector at the top


Staging and Committing

The panel lists all modified files in two groups: Staged (will be included in the next commit) and Unstaged (modified but not yet staged).

  • Click the + icon next to a file to stage it, or to unstage.
  • Click the filename to open a diff of that file.
  • Type a commit message in the text field at the top of the staged list.
  • Click Commit or press Ctrl+Shift+C to commit.

Staged and unstaged file lists with a commit message ready to submit

ShortcutAction
Ctrl+KStage the currently open file
Ctrl+Shift+CCommit staged changes

Push and Pull

The toolbar at the top of the Git panel shows the current branch and how many commits it is ahead or behind the remote.

  • Push (↑) — send local commits to the remote. Keyboard: Ctrl+J.
  • Pull (↓) — fetch and merge remote commits. Keyboard: Ctrl+L.

If the current branch is protected (e.g. main with branch protection rules), the Push button is disabled and a lock indicator appears.

Git panel toolbar — branch name, ahead/behind count, push and pull buttons


Branching

Click the branch name in the toolbar to open the branch dropdown. From here you can:

  • Switch to an existing branch — click its name in the list.
  • Create a new branch — click + New branch, enter a name, and confirm.

Keyboard: Ctrl+G opens a quick branch switcher.

Branch dropdown open — current branch highlighted, list of local branches, New branch button


Diff Viewer

Click any filename in the staged or unstaged list to open the diff viewer. It shows a unified diff of the file against the last commit, with removed lines in red and added lines in green.

Keyboard: Alt+D opens the diff for the currently open editor file.

Diff viewer — unified diff with removed lines in red and added lines in green


Commit History

Click the clock icon in the Git panel toolbar to open the commit history for the repository.

  • Each entry shows the short hash, message, author, and date.
  • Click a commit to expand it and see which files changed.
  • Use Ctrl+Shift+F to open a search box and filter commits by message or author.

Commit history panel — list of commits with hashes, messages, and author names


Stash

The Stash section at the bottom of the Git panel lets you save and restore work-in-progress without committing.

  • Click Stash to save all current changes to the stash stack.
  • The stash list shows each entry with its message and date.
  • Click Apply on a stash entry to restore it.

Stash list — two stash entries with timestamps and apply buttons


Conflict Resolution

When a pull or merge produces conflicts, a Conflicts button appears in the Git panel toolbar. Click it to open the three-panel conflict resolver.

Conflict resolver — ours panel on the left, theirs on the right, result at the bottom

Layout

PanelContent
← Ours (HEAD)Full file with your local version of each conflict region
Theirs (incoming) →Full file with the incoming version of each conflict region
ResultEditable Monaco editor that updates as you make choices — this is what gets saved

All three panels scroll in sync. Conflict regions are highlighted: orange for the active hunk, red-tinted for unresolved hunks, and green for resolved ones. The overview ruler on the right edge of each editor shows conflict positions at a glance.

Resolving conflicts

  1. Use ‹ Prev / Next › in the toolbar to navigate between hunks. The active hunk is highlighted and centred in all three panels simultaneously.
  2. For each hunk, click one of the three choice buttons:
    • ← Use Ours — keep your local change
    • ↕ Use Both — include both versions one after the other
    • Use Theirs → — accept the incoming change
  3. The Result panel updates immediately. You can also edit it directly for a custom resolution.
  4. Once all hunks are resolved (toolbar shows all resolved), click ✓ Save & Mark Resolved. The file is written to disk, staged, and the open editor tab refreshes automatically.

Repeat for every conflicted file listed in the sidebar. When all files are resolved, enter a merge commit message and click ✓ Complete Merge.


Keyboard Reference

ShortcutAction
Ctrl+KStage current file
Ctrl+Shift+CCommit
Ctrl+JPush
Ctrl+LPull
Ctrl+GQuick branch switcher
Ctrl+Shift+GOpen Git panel
Ctrl+Shift+FSearch commit history
Alt+DDiff current file