Repository navigation
Branches Popup
The Branches popup is the quick way to work with the branches of one repository. Pick a branch, and a submenu shows everything you can do with it: check it out, compare it, merge it, update or push it, and more.
- Click the branch button of a repository in Changes (see Repository Actions). The popup opens for that repository.
- Or choose Git > Branches... in the menu bar, for the active repository. See Git Menu.
- Or click the branch name in the status bar, for the repository it shows. See Status Bar and Help.

Branches (storefront) with the submenu of fix/tax-rates open.
The title names the repository, for example Branches (storefront). From the top:
-
Filter branches: type to narrow the list. Every word you type must appear in the name, so
tax fixfindsfix/tax-rates. - New Branch... starts a branch at HEAD, the commit you are on now.
- Checkout Tag or Revision... opens a list of every branch, remote branch and tag to check out, with + Create Branch... and + Create Branch From... at the top.
- Local: your branches, the current one first with a check mark. Each shows its upstream (the server branch it follows) and how far it is ahead or behind, for example origin/main, 1 ahead.
-
Remote: branches on the server, such as
origin/fix/tax-rates.
Click a branch, or move to it with Up and Down and press Enter or Right, to open its submenu. Esc or Close closes the popup. Picking an action closes it too.
For a branch you are not on, for example fix/tax-rates while you are on main:
- Checkout switches to it. For a remote branch, it switches to your local branch of the same name, or creates one that tracks it.
- New Branch from 'fix/tax-rates'... starts a new branch there.
-
Checkout and Rebase onto 'main' switches to the branch and replays its commits on top of
main, so it is up to date with your work. - Compare with 'main' opens a tab with the commits each branch has that the other lacks, and the files that differ.
- Show Diff with Working Tree opens a tab with the files that differ between that branch and your files on disk, uncommitted changes included.
- Rebase 'main' onto 'fix/tax-rates' replays your current branch on top of it.
- Merge 'fix/tax-rates' into 'main'... opens the Merge dialog, where you can pick options such as no fast-forward or squash. See Git Dialogs.
- Update fast-forwards the branch from its upstream without checking it out: the branch simply moves forward to the newer commits, with no merge commit. Git refuses when the two have both moved on, which keeps your commits safe.
- Push pushes that branch, or publishes it when it has no upstream yet.
- Rename... and Delete (asks first, and again with Force Delete for unmerged work).
Remote branches get Checkout, New Branch from, and the compare, rebase and merge items.
For the current branch the submenu is shorter:
- New Branch from 'main'...
- Update pulls from the upstream, with merge or rebase as chosen last in the Update Project dialog.
- Push... opens the Push dialog, where you see the commits that will go out.
- Track Remote Branch... picks a remote branch to follow, for example after the server branch was renamed.
- Unset Upstream stops following it. The hint shows which branch it follows now.
- Rename...

fix/tax-rates compared with main: the commits only on each side, the files that differ and the diff of one file.
Compare with opens a tab named, for example, fix/tax-rates vs main. On the left it lists In fix/tax-rates, not in main and In main, not in fix/tax-rates, then Files that differ. Click a file to see its diff, with the current branch on the left. Click a commit to open it in its own tab. Only the first 1000 commits of each side are listed.
Show Diff with Working Tree opens fix/tax-rates vs Working Tree with the files that differ and their diffs. It updates when your files change. Both tabs have a Refresh button and close like any other tab.
- Checkout, rebase and merge items are greyed out while a merge, rebase, cherry-pick or revert is in progress.
- If a rebase or merge stops on conflicts, the Conflicts dialog opens. See Resolving Conflicts.
- The popup works on the repository it was opened for, even when that is not the active one.
These pages are generated from docs/wiki. To correct something, open a pull request against the source file; edits made here are overwritten.
Using Nibtree
- Getting Started
- Welcome Screen
- Workspaces
- Files Panel
- File Operations
- File Icons
- Rounded Panels
- Editor and Tabs
- Pin Reorder and Wrap Tabs
- Single Tab Title
- Split Editor
- New File and Unsaved Changes
- Unload Hidden Tabs
- Editing Code
- Code Appearance
- Markdown Editor
- Image and PDF Preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and Replace
- Changes and Commits
- Sign In Prompts
- Commit Box Layout
- Repository Actions
- Commit Options
- Ignoring Files
- Diffs
- Inline Diffs
- Staging View
- Revert a Change
- Resolving Conflicts
- Merge Tool
- Blame
- History and Log
- Merge Commits
- Branches and Tags
- Branches Popup
- Remotes
- Stashes
- Shelf
- Git Menu
- Git Dialogs
- Interactive Rebase
- Worktrees
- AI Agents
- AI Tasks
- AI Usage
- Keep Computer Awake
- Submodules
- Git LFS
- GitHub
- Git Console
- Terminal
- Terminal Features
- Scripts
- Navigation
- Menus
- Settings
- Settings Search
- Color Themes
- Settings Terminal and Automation
- Settings Files
- Updates
- Status Bar and Help
- Notifications
- Memory Use
- Clear Cache
- MCP and CLI
- Git Mergetool
- Keyboard Shortcuts
- Keyboard Shortcuts Editor
- Troubleshooting
- Troubleshooting Git
Developers
- Developer Guide
- Architecture
- Project Layout
- Backend
- How Folder Watching Works
- Folder Watching Bugs We Fixed
- How Workspace Files Work
- How the Preview Scheme Works
- Backend Services
- How Terminal Features Work
- Terminal Bugs We Fixed
- Frontend
- How the Rich Markdown Editor Works
- Rich Markdown Bugs We Fixed
- Git Menu Links
- Menu Keys and Routing
- Frontend Modules
- Blame Bugs We Fixed
- Project Color And Title Bar
- One Diff View
- Diff Bugs We Fixed
- Merge Tool Layouts
- Merge Tool Bugs We Fixed
- Color Theme Bugs We Fixed
- How the Connected Diff Works
- Rounded Panels Bugs We Fixed
- Update Bugs We Fixed
- Status Bar Bugs We Fixed
- MCP and CLI Bugs We Fixed
- Repository Actions Bugs We Fixed
- How the Changes Tab Works
- CodeMirror Patterns
- How the Cursor Works
- How Editor Features Work
- How the Path Bar Works
- Commands and Events
- Settings Reference
- Commands Workspace and Changes
- Commands Branches and Remotes
- Commands History and Extras
- Commands App and Tools
- Testing
- Test Suites
- Debugging
- Debugging with MCP
- Measuring Setting Memory
- How Terminal Memory Is Measured
- How Markdown Diagrams Work
- Releases and CI
- Publishing the Wiki
- Versioning and Changelog
- Browser Version Packages
- Browser Release Checks
- Docker Image
- Platforms and Signing
- Windows Support
- Windows Bugs We Fixed
- Windows MCP and CLI
- Docs and Screenshots
- UI Library
- UI Library MCP
- UI Library Bugs
- UI Library Migration
- Contributing
How features work
- Welcome screen
- Workspaces and folders
- Files panel
- File operations
- File icons
- Editor and tabs
- Pin, reorder and wrap tabs
- Single tab title
- Split editor
- New File and unsaved changes
- Unload hidden tabs
- Editing code
- Code appearance
- Markdown editor
- Image and PDF preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and replace
- Changes and commits
- Sign-in prompts
- Commit box layout
- Repository actions
- Commit options
- Ignoring files
- Diffs
- Inline diffs
- Staging view
- Revert a change
- Resolving conflicts
- Merge tool
- Blame
- History and log
- Merge commits
- Commit tabs
- Branches and tags
- Branches popup
- Remotes
- Stashes
- Shelf
- Git menu
- Git dialogs
- Interactive rebase
- Worktrees
- AI agents
- AI usage
- Keep computer awake
- AI tasks
- Submodules
- Git LFS
- GitHub account
- Git Console
- Back and Forward
- Integrated terminal
- Scripts tool window
- Menu bar
- Settings
- Search in Settings
- Color themes
- Rounded panels
- Updates and release channels
- Status bar and help links
- Notifications
- Memory readout and memory log
- Clear Cache
- MCP server and command line tool
- git mergetool mode