KerosGIT
A Visual Studio Code extension in the SCM category: common Git workflows from the status bar and command palette, without a dedicated side bar like the built-in Source Control view.
Requirements: VS Code ^1.80.0, and git available on PATH for the workspace.
Status bar
- Current branch — click opens the Git menu (refs and actions).
- Default branch — the branch that matches the default (remote
HEAD or init.defaultBranch) shows a star instead of the usual branch icon.
- Upstream sync — when an upstream is set, behind/ahead counts (down/up arrows) appear with details in the tooltip.
- Detached HEAD — distinct label and tooltip for detached HEAD.
- Merge in progress — merge state, continue (conflicts) and abort merge actions.
- Refresh refs — refresh (
fetch and branch metadata) is shown when the repo has remotes; a loading indicator runs while the operation is in progress.
The status refreshes on a timer (~15 s) and when workspace folders change.
Open with KerosGIT: Open Git Menu / Git Menu (Status Bar) or by clicking the branch item in the status bar.
Root actions
- Update — bring the current branch up to date from the default remote.
- Commit — commit staged changes (message prompt).
- Push — push the current branch (including publish when there is no upstream, where applicable).
- New branch — create a branch from the current HEAD (after the first commit).
- Checkout any ref — switch to any branch or tag via search.
If there is no repository, the list can initialize Git at the workspace root.
Actions for a selected branch or tag
- Checkout — switch to the ref.
- New branch from ref — create a branch from the selected ref.
- Merge into current — merge the selected branch into the current one; on conflicts, the resolution panel opens (see below).
- Rename — rename a local branch.
- Push — push a named local branch.
- Delete — delete a local branch that is not the current branch.
- Update / Commit / Push remain available as shared operations when needed.
The branch list shows local vs remote-tracking roles, the default branch, and upstream with ahead/behind when present.
Merges and conflicts
- After Merge into current, a clean merge shows a success notification.
- On conflicts, a merge conflicts webview lists unmerged files, opens files, and offers ours / theirs resolution with staging.
- Show Merge Conflicts — reopen the panel while a merge is in progress.
- Complete Merge — finishing
git commit when no unmerged paths remain.
- Abort Merge — cancel the in-progress merge.
During a merge, the status bar exposes quick access to the conflicts panel and abort.
New files and the index
When new files appear inside a Git work tree, the extension may prompt to stage the file (git add). You can choose don’t ask again once; new files are then staged automatically (state is stored per workspace).
Reset Auto Add New Files Preference clears that behavior and restores prompts.
Commands (palette)
| Command |
Purpose |
| Open Git Menu |
Open the Git menu |
| Git Menu (Status Bar) |
Same as clicking the branch item |
| Refresh Repository Info |
Fetch/update remote refs and refresh UI state |
| Show Merge Conflicts |
Open the conflicts panel during an active merge |
| Complete Merge |
Finish the merge with a commit |
| Abort Merge |
Abort the merge |
| Reset Auto Add New Files Preference |
Clear auto-stage for new files |
Command category in the palette: KerosGIT.