BonsaiA full Git client in a VS Code tab. See your whole history as a graph, stage single lines, resolve conflicts side by side and rebase interactively, without leaving the editor or typing a Git command.
Getting started
With several repositories in the workspace, the dropdown at the top left switches between them. What you can doFollow the historyThe graph shows every branch, remote branch, tag and stash in one view. Click a commit to see its changed files and diffs. Type in the filter box to find a commit by its message, author or hash: older commits load as you search, and Enter jumps to the next match. The sidebar lists branches, remotes, tags and stashes as folders, so Stage exactly what you want
Open Local Changes to see unstaged and staged files next to the diff. Stage or discard a whole file, one hunk, or only the lines you selected. Then write your message below and commit, or tick Amend to change the last commit. Resolve conflicts
When a merge, cherry-pick, revert, rebase or stash stops on a conflict, a banner tells you how many files are left. The merge dialog shows both sides with the result below: tick the side you want for each conflict, or both, or edit the result by hand. If you prefer VS Code's merge editor, it's one click away. Before you start a merge, cherry-pick or revert, Bonsai does a dry run and names the files that would conflict. Rewrite history
Stay in syncFetch, Pull and Push sit in the toolbar, and each branch shows how far it is ahead of or behind its upstream. Push asks first: which branch, where to, whether to track it, push all tags or force (with lease). If the push creates the remote branch and the server has something to say, Bonsai shows it afterwards, so the link GitLab or GitHub prints for a new merge or pull request is one click away. Pushing uses your Git credentials, such as the Git Credential Manager or an SSH key. If Git can't sign in by itself, Bonsai falls back to VS Code's sign-in; the server's answer isn't shown then. See what happenedActivity in the toolbar lists what Bonsai did in this session, with the Git commands it ran and what they printed. That helps when a step ends differently than you expected. Settings
Automatic fetching follows VS Code's own Requirements
Bonsai speaks English and German and follows the language of VS Code. PrivacyBonsai talks to nothing but your Git remotes. Author pictures are initials on a coloured circle, generated locally. If you turn on About the nameThe layout follows Fork, a desktop Git client. Bonsai is an independent project and has no connection to Fork or its authors. LicenseWant to build it yourself? See docs/DEVELOPMENT.md. |


