Skip to content
oneo-mePublic

About

A worktree-centered macOS app for browsing many Git repositories in one window, built in Go with MyGo and Onevra.

Topics

Resources

Stars

10 stars

Watchers

0 watching

Forks

Repository files navigation

Onegit

Onegit

English | 简体中文

GitHub Blog X GitHub Sponsors

Listed on Awesome MyGo

Onegit is a worktree-centered macOS app that gathers many Git repositories in one window. It covers everyday repository browsing and worktree switching, not every feature of a general Git client.

Onegit showing a project's commit graph with a commit menu open

Features

  • Scan a parent directory into a sidebar tree; pin or group projects, give them an icon, and find them with the command palette (⌘F).
  • Switch worktrees above the branches, and open the shown one in the file manager, a terminal or a development tool, or its repository on GitHub.
  • Review staged and unstaged changes, stage files or lines, discard changes, stash files, and commit with a per-worktree draft.
  • Browse the commit graph, search history and the reflog, compare commits, and open a file's history or blame.
  • Manage branches, tags, remotes and stashes, and rebase, merge, cherry-pick or revert with conflict handling.
  • Push a repository without remotes to a new GitHub repository through the GitHub CLI.
  • Every Git write runs only when you click, except remotes set to fetch automatically when a worktree opens.

Run

Onegit is not released yet. Build it from source as described in Development. Git must be on PATH at runtime.

Getting started

  1. Open Settings with ⌘, and choose the parent directory that holds your projects.
  2. Wait for the background scan to add repositories to the sidebar.
  3. Select a project; with several worktrees, double-click one under Worktrees to show it.
  4. Choose Current changes or All commits in the project sidebar.

Development

Requirements: macOS, Go 1.27.3 or later, and Xcode Command Line Tools. The MyGo CLI is a Go tool dependency in go.mod, so no global install is needed.

Run from source_mygo/:

cd source_mygo
GOWORK=off go mod download
go tool mygo dev

go tool mygo dev runs Onegit Dev and restarts it after code changes.

Format, test, vet and build from source_mygo/:

gofmt -l .
GOWORK=off go test ./...
GOWORK=off go test -race ./...
GOWORK=off go tool mygo vet
GOWORK=off go tool mygo build

Tests are headless and never open windows or native dialogs. The directory and icon pickers, packaging and the app icon need manual review. Builds go to dist/<os>-<arch>/ with ad-hoc signing and no notarization.

Build release packages for every platform from source_mygo/: a universal macOS app and disk image, Windows installers, and Linux archives and Debian packages. Windows installers need NSIS (brew install makensis).

GOWORK=off go tool mygo build -platform darwin/universal,windows/amd64,windows/arm64,linux/amd64,linux/arm64

Neorio users get the same Run, Build, Test and Vet tasks from .neorio/config.yaml; Build makes these release packages.

Read ARCHITECTURE.md before changing code, and AGENTS.md for working rules. User-visible changes are listed in CHANGELOG.md.

License

MIT © 2026 ONEO.

About

A worktree-centered macOS app for browsing many Git repositories in one window, built in Go with MyGo and Onevra.

Topics

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages