Source Control
Stage changes, write commits, and sync with remotes from the Git sidebar.
The Source Control sidebar is Shape's built-in Git panel. Stage files or hunks, write commits, and push or pull without leaving the IDE.
Open Source Control
- Click the branch icon on the activity bar
- View → Source Control or Ctrl+Shift+G
- Click the branch indicator in the status bar
For pull requests, Actions, and checks, open Git Manager from Window → Git Manager or the Shape logo in this sidebar header.
Changed files
The Changes section lists modified, added, and deleted files. Click a file to open a diff tab.
| Action | How |
|---|---|
| Stage one file | Click the + icon next to the file |
| Unstage | Click the − icon on a staged file |
| Stage all | Click + on the Changes header |
| Discard | Right-click and choose discard (confirm when prompted) |
Stage and unstage hunks
Open a file from Changes to review the diff. A floating toolbar on the hunk lets you stage, unstage, or restore that hunk without leaving the file.
| Diff | Actions |
|---|---|
| Working Tree (unstaged) | Stage (Ctrl+Y), Restore |
| Index (staged) | Unstage (Ctrl+Shift+Y) |
Select changed lines first to stage or restore only that selection. See Diff and Merge.
Write a commit
- Stage the files or hunks you want included.
- Enter a commit message in the text box at the top.
- Optionally add a longer description in the second field.
- Click Commit or press Ctrl+Enter.
If Confirm Before Commit is enabled in Git settings, Shape asks you to confirm first.
AI commit suggestions
Click the sparkle icon next to the commit message field to generate a suggested title and description from your staged diff.
Sync with remote
The toolbar includes:
| Button | Action |
|---|---|
| Pull | Fetch and merge from the tracked remote branch |
| Push | Upload local commits |
| Sync | Pull then push in one step |
| Refresh | Reload Git status |
Sign in with GitHub to avoid credential prompts on push.
Non-repository folders
If the open folder is not a Git repository, Source Control shows an Initialize Repository action. Click it to run git init in the project root.
Status bar
The bottom status bar shows the current branch and ahead/behind counts. Click it to open Source Control.