Using GitManager
GitManager scans the folders you configure and shows every Git repository it finds, with each repo's current branch, whether it has uncommitted changes, and how far ahead or behind its upstream it is.
Getting started
- Copy
.env.exampleto.env. - Set
GIT_REPO_ROOTSto the folders that hold your repos. - Run
docker compose upand open the dashboard.
Reading the dashboard
- Branch — the checked-out branch (or
HEADwhen detached). - Dirty — the working tree has staged or unstaged changes.
- Ahead / behind — commits your branch leads or trails its upstream by.
Right-click commands
Right-click any repository for a menu of plain-language commands — no git knowledge needed:
- Get latest — pull the newest changes.
- Publish — push your commits.
- Check for updates — fetch without changing your files.
- Save my work… — commit everything (asks for a message).
- Set as active project / Ask Claude to switch here.
- Copy path.
- Discard all changes… — throw away uncommitted edits (asks you to confirm; can't be undone).
What each command did shows up in the activity panel. (Get latest / Publish / Check for updates need your server to have git credentials; until then they'll report a sign-in error.)
Repository details
Click any repository in the list to open its details on the right: its full path and current branch, its remotes and their URLs, every local branch (with the one you're on marked and its upstream shown), and the 20 most recent commits.
Active project & activity
Clicking a repository also makes it your active project — the one you're currently focused on — shown in the activity panel at the bottom. That panel also lists recent actions by both you and Claude, updating live. When GitManager is connected to Claude, Claude can see your active project and this activity, so you stay on the same page.
Pull requests: Merge & clean up
When a repository is hosted on your Gitea server, its open pull requests appear under the details panel. Each has a Merge & clean up button: it squash-merges the pull request and deletes its branch in one step, so finished work doesn't leave branches lying around. You'll be asked to confirm — it names the pull request and the branch that will be deleted — because it can't be undone (the merged history stays on the server; only the branch is removed). If you don't use a Gitea server, this section stays hidden.
Handing a project off to Claude
When GitManager is connected to Claude, you can hand the current project off. Select the repository (that makes it your active project), then click "Ask Claude to switch to …" in the handoff bar. Claude won't drop what it's doing — it finishes to a safe stopping point (saving any in-progress work) and then switches. You'll see a "waiting…" message while it wraps up, and a confirmation with a short note of where it left the previous project once it has switched. You can Cancel a pending request any time before Claude completes it.
Background refresh
The dashboard refreshes on its own. By default it does not reach
the network — enable SCAN_FETCH_ENABLED if you want
ahead/behind counts kept current via git fetch.