Stop wasting time switching between accounts, tabs, and terminals. Search, organize, and operate on all your repos from one local interface.
Jumping between repos, tabs, terminals, and sometimes accounts. Too much friction for simple daily actions.
No overview, no consistency: you waste time looking for “that repo”.
Staged, dirty, ahead/behind — you only notice when it’s inconvenient.
Clone, pull, fetch, open editor, open terminal — repeated across accounts and repos.
One view for all your repositories. Works great with one GitHub account, and supports multiple accounts when you need it.
Paste any GitHub repo URL, choose which account key to use, and clone into your organized structure. Optional custom local folder name included.
Commit, push, pull (with rebase), branch, revert — plus diff (staged/worktree), stash, and discard actions in one Git modal.
Instantly see dirty repos, staged changes, and ahead/behind status. Optional stale detection flags repos with no recent activity.
Transfer repos between accounts and migrate existing local repos into the organized structure. GitDock updates remotes for your SSH host aliases.
Use GitDock on several machines? The optional Hub gives you one central view: see all machines, sync issues (unpushed, behind, dirty), and browse repos per machine with search and filters. Run it locally or deploy it.
List of connected machines, last seen, and repo count. Click any machine to see its repos.
Unpushed commits, behind remote, dirty repos — so you know what needs attention before it bites.
Per machine: search by name, filter by status (clean, dirty, ahead, behind). View as cards or list.
Set up SSH host aliases and log into one or more accounts with gh auth login.
Run node server.js (or the included start scripts). If port 3847 is busy, GitDock automatically falls back.
Search, pin, clone (including by URL), pull/fetch/commit/push, transfer, and open repos in your editor — all from one dashboard.
Using several machines? In the dashboard, set the Hub URL and API key, then restart. Open the Hub in the browser to see all machines and sync status in one place.
Server binds to 127.0.0.1 (no network exposure)
Non-localhost requests are rejected
Sanitization and traversal protection on all operations
GitDock never stores tokens — gh CLI uses the OS keyring
Markdown content is sanitized before rendering
Prevents account-switch races during API calls
If you use it, only status snapshots (repo names, branch, ahead/behind) are sent — no code or tokens
Free and open source. Clone the repo or download a release. All your repos, organized in one dashboard.
Node.js + Git + GitHub CLI. Optional Hub for multi-machine sync.