It’s simple

A Graph, for Git.

Graph is a lightweight Git client designed for Mac with visualization at its core.

Open your repositories, understand their state, and handle the basics without signing up, subscribing, or connecting an external account.

Coming soon to the Mac App Store

US$9.99 One payment. Yours forever.

Price may vary by region.

See the whole picture.

  • See commits, branches, tags, and local changes in one connected graph.
  • Choose any branch as the graph base to focus on the history that matters.
  • Inspect commit details and diffs without losing context.
  • Search commits, references, authors, and worktrees from one view.
main
Clean
api-redesign
4 changes
release/4.3
Clean

Review and commit.

  • Compare changes with unified or side-by-side diffs.
  • Navigate staged, unstaged, untracked, and conflicted files.
  • Stage files and create or amend commits.
  • Stash changes, switch branches, and merge with safeguards.
refreshTokens.ts+3 −2
2020 export function isValid(record) {21− return Boolean(record);21+ return Boolean(record) &&22+ record.expiresAt > Date.now();2223 }2324 2425 export function rotateToken(token) {25− return refresh(token);26+ return refresh(validate(token));2627 }

Keep your work moving.

  • Open local repositories or clone via HTTPS or SSH.
  • Fetch and pull updates, and push with fast-forward safeguards.
  • See each linked worktree’s branch, HEAD, and pending changes alongside your history.
keystone-platformmainCleanSynchronizedorigin/main
api-redesignapi-redesign4 changed files1 aheadorigin/api
release-4.3release/4.3CleanSynchronizedorigin/release/4.3

Commit details

feat(permissions): export access review decisions

ABAlex Brooks06fabe1

Add a scoped CSV export for enterprise access reviews and keep the review context in every row.

Mike booked the customer review before checking with the team. We will now align the roadmap with the calendar, apparently in that order.

Changed files 2

Illustrative example.

Smart Pull

Smart Pull updates eligible local branches from their upstreams using fast-forward updates. Branches that need attention are left unchanged.

Branchmain
Upstreamorigin/main
b7319a2c92a180
Safe to pull

Illustrative example.

Smart Push

Smart Push sends local commits to their upstream branches using fast-forward pushes. Branches that need attention are left unchanged.

Branchapi-redesign
Upstreamorigin/api
29fd93063b34e2
Safe to push

Illustrative example.

exportAccessReviews.ts

apps/console/src/features/access

Side by side
Before 06fabe1^After 06fabe1
export function exportAccessReviews(reviews) {export function exportAccessReviews(reviews) {
return reviews.map(review => ({ return reviews.map(review => ({
id: review.id, workspace: review.workspaceName,
reviewer: review.reviewerName,
decision: review.decision, decision: review.decision,
})); }));
}}

Illustrative example.

accessReviews.ts

packages/permissions/src

Side by side
Before 06fabe1^After 06fabe1
export interface AccessReview {export interface AccessReview {
id: string; id: string;
workspaceName: string;
reviewerName: string;
decision: "approved" | "revoked" | null; decision: "approved" | "revoked" | null;
updatedAt: Date; updatedAt: Date;
}}

Illustrative example.

One purchase. Yours forever.

Graph is coming to the Mac App Store

Buy Graph once, with no subscription or extra account to create.

Your repositories are processed on your Mac, and Git connects directly to your configured remotes.

Read the privacy policy

Compatibility

Git is included.

Ready to use on macOS 14 or later. No separate Git installation needed.

Connect to your remotes.

HTTPS can use credentials available in Keychain. SSH requires an identity already loaded in the macOS SSH agent.

Repository requirements

Git LFS, hooks, executable filters, and external helpers are not supported.