Your Git workflow, anywhere.
Gitzy is a full-featured Git client for iPhone and iPad. Clone, commit, branch, stash, tag, sync, squash, rebase, and resolve conflicts with a clear, mobile-first experience powered by LibGit2.

Download on the App Store


Why Gitzy

  • Full Git on iOS: Clone, fetch, pull, push, force push, and upstream setup from a native SwiftUI app.
  • Commit graph: Visual history with lanes, branches, and merge nodes; search, scrubber, time markers (Today, Yesterday, Last week), and inline stats (files changed, +/- lines).
  • Safe commit workflow: Stage/unstage per file or per hunk, view diffs, commit with summary and body. Amend the latest commit (message and/or staged changes).
  • Branch management: List local/remote branches, create, switch, delete, rebase onto another branch, set upstream. Create branch from any commit (swipe or context menu).
  • Sync: Fetch, pull, push. Ahead/behind status, pull-to-refresh (fetch + status). HTTPS tokens in Keychain; SSH supported.
  • Tags: List tags, add tag at any commit, push tags.
  • Stash: Create, list, apply, pop. Conflict-aware handling.
  • Merge & conflicts: Merge branches; conflict resolver with Ours/Theirs per block, continue or abort.
  • Squash commits: Three-step flow (select range → preview + options → confirm). Optional backup branch and auto-stash.
  • Reset & revert: Reset branch to a commit (soft/mixed/hard). Revert any commit (merge commits: mainline handled automatically).
  • Pull requests: List and view PRs for GitHub, Codeberg, GitLab, etc.; description, files, diff, reviews where supported.
  • Gitzy Pro: One-time unlock for all write actions. Without Pro: read-only (browse, fetch, pull only).
  • AI help: Repository chat, explain hunk, PR assist (Apple Intelligence, cloud, or local on-device models where enabled).
  • Read-Only mode: Per-repo safety: only Fetch and Pull allowed until you enable write access.
  • Provider-agnostic: Works with GitHub, GitLab, Bitbucket, Codeberg, Forgejo, Gitea, and self-hosted.
  • Human-friendly errors: Clear messages and recovery actions instead of cryptic Git output.
  • Theme support: System, Light, and Dark appearance.

Get Started

Install Gitzy from the App Store. On the main screen, clone a repo (paste URL, choose folder, optionally Read-Only), open an existing folder with a .git, or create a new repository. Tap a repo to open it: you’ll see the commit graph, changes, and access to branches, sync, tags, stash, and more.

Download on the App Store


Manual

The User Guide & Manual covers every feature in detail: getting started, repositories, commit graph (search, scrubber, context menu), staging and committing, branches, sync, tags, stash, merge and conflicts, squash, reset and revert, pull requests, Gitzy Pro, AI, security, settings, and technical foundation. Use it as a reference or to discover what you haven’t tried yet.

Open the Manual →


Repositories

The repo list shows each repository with current branch, sync status (ahead/behind), and a platform accent (GitHub, Codeberg, GitLab, etc.). From the context menu you can edit the display name and choose a repository accent (color). Each repo can be set to Read-Only: only Fetch and Pull are allowed until you enable write access. The repository list can sync across devices via iCloud (Settings → Sync).


Commit Graph

The main view inside a repo is the commit graph: visual history with lanes, branches, and merge nodes. You see the current branch, tags, and HEAD.

  • Search: Filter by commit message, author, or hash.
  • Scrubber: Optional mini-map on the right (Settings → Commit Graph); tap to jump to a commit.
  • Time markers: Commits grouped as Today, Yesterday, Last week, etc.
  • Inline stats: Expand a row to see files changed and insertions/deletions.
  • Context menu (long-press): View details, Add tag…, Create branch…, Compare (then View diff), View diff vs parent, Reset branch to here…, Revert commit…, Rebase onto this (from branches), Squash into this commit…, Copy (hash or message).

Commit & Changes

The Changes area shows modified, added, and deleted files. Stage whole files or individual hunks. Then tap Commit and enter a summary (and optional body). Amend updates the last commit (message and/or staged changes). Write actions (commit, amend, stage) require Gitzy Pro when the app is locked; without Pro you can still browse, fetch, and pull.


Branches

Open Branches from the repo to see local and remote branches. Switch branch, create, or delete. From the graph you can Create branch from here (swipe or context menu) with optional checkout. Rebase onto this (context menu on another branch) rebases the current branch onto it; conflicts open the conflict resolver. When pushing a new branch you can set the upstream remote; the sheet can pre-fill the remote branch name.


Sync (Fetch, Pull, Push)

Repo detail shows remote status (ahead/behind). Use the Sync sheet to Fetch, Pull, or Push. Pull-to-refresh on the commit list runs a fetch and updates status (it does not pull). HTTPS remotes use tokens stored in the device Keychain; add them via Repository Actions → Clone. If push is rejected (e.g. non–fast-forward), Gitzy shows a Push Rejected sheet with the remote message and options (e.g. force push where supported).


Tags

Open Tags from the repo to list tags. From the commit graph, Add tag… in the context menu creates a tag at that commit. You can push tags from the tag flow or when pushing.


Stash

Stash saves uncommitted changes so you can switch branch or pull. Create a stash (optional message), then Apply or Pop later. If applying causes conflicts, Gitzy reports them and you resolve in the usual conflict flow.


Merge & Conflicts

Merge a branch into the current one from the Branches sheet. If there are merge conflicts, Gitzy shows a conflict banner and list of conflicted files. In the conflict resolver you choose Ours or Theirs per block (or edit manually), mark as resolved, then Continue to complete the merge or Abort to restore the pre-merge state. Reverting a merge commit uses a mainline; Gitzy handles that automatically. If the revert has conflicts, you resolve them in the same screen and continue.


Squash Commits

Squashing combines a range of commits into one. Use the graph context menu Squash into this commit… (that commit is the oldest in the range) or choose Last N commits in the flow.

  1. Select range — “Squash from selected commit up to HEAD” or “Last N commits”. Next.
  2. Preview — Combined diff and options: Create backup branch before squash (recommended; e.g. backup/squash-2026-03-02 12:00:00), Stash uncommitted changes automatically. Next.
  3. Confirm — Edit the new commit message, adjust options, tap Squash X commits.

If you enabled the backup branch, you can checkout it later to undo or inspect the pre-squash state.


Reset & Revert

  • Reset branch to here… (graph context menu): Choose Soft (keep changes staged), Mixed (unstaged), or Hard (discard). The current branch moves to the selected commit.
  • Revert commit…: Creates a new commit that undoes the chosen commit. Merge commits use a mainline (e.g. -m 1); Gitzy handles it. Revert conflicts are resolved in the same conflict screen.

Pull Requests

For supported hosts (GitHub, Codeberg, GitLab, etc.), open Pull Requests from the repo to list open PRs. Tap one for description, files changed, and diff. You can submit reviews and comments where the host API supports it.


Gitzy Pro

Gitzy Pro is a one-time in-app purchase that unlocks all write actions: commit, push, merge, branch, stash, reset, revert, squash, etc. Without Pro, the app is read-only: browse repos, view history, fetch, and pull only; write actions show a clear message and Unlock button. In Settings, the Pro section shows Unlock Gitzy Pro or Gitzy Pro — Active; when active you can View Pro info (re-read features and terms) and Restore Purchases. Read-Only repository is separate: a repo can be set to Read-Only for safety even with Pro; enable write per repo via the repo’s own action.


AI Help

Where enabled, Gitzy can use Apple Intelligence, cloud providers, or Local AI (on-device models) for the repo. Features may include: Repository AI chat (questions with recent commits, branch status, staging as context), Explain hunk (plain-language explanation of a diff block), PR assist (in Pull Request detail). Configure providers and Local AI models in Settings → AI. Local AI runs entirely on device; cloud providers use their APIs and policies.


Security & Privacy

HTTPS tokens are stored in the device Keychain (hardware-backed where available). Only host mappings sync via iCloud; tokens do not go to iCloud servers. Read-Only is enforced in the app and in GitCore: in Read-Only mode only Fetch and Pull are allowed until you explicitly enable write for that repository.


Sync & Portability

The repository list can sync across devices via iCloud (Settings → Sync). Repos in shared roots (e.g. iCloud Drive) use a portable identity so on another device Gitzy can remap paths and open the same repos without re-adding them manually.


Settings

Tap the gear icon on the main screen for Settings. Main sections: Git Identity (optional name/email for commits, override on commit/amend), Repositories (default folder for clone and new repos), Sync (iCloud for app data and repo list), Commit Graph (scrubber, time markers, etc.), Appearance (system/light/dark), AI (providers, Local AI models, diagnostics), Privacy, Support (Manual, Send Feedback, Copy Diagnostics, Contact). Pro section at the top for unlock or restore.


Technical Foundation

Gitzy is built on LibGit2 via direct C bindings (no shell Git). That enables fast file status via memory-mapped indexes, hunk-level staging without external commands, and efficient diff generation and OID calculation. The app is native Swift/SwiftUI, with async Git operations and large-repo aware loading.


Disclaimer

Gitzy is provided AS IS and AS AVAILABLE, without warranties. By using Gitzy, you accept full responsibility for your actions and data. See disclaimer in the app.


Made with ❤️ in The Netherlands 🇳🇱🌷. Gitzy is an independent indie app.
In memory of Snickers 🐱(14-09-2007 - 28-02-2026)