Gitzy - Git client for serious devs
Gitzy 2.x brings serious Git workflows to iPhone and iPad.
Clone, inspect, review, patch, stage, sync, and manage repositories with a mobile-first Git client powered by LibGit2.
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, jump shortcuts, time markers, and inline stats.
- Safe commit workflow: Stage/unstage per file, hunk, or line, view diffs, commit with summary and body, and amend the latest commit.
- Patch workflows: Export, preview, import, apply, share, and undo patches directly in the app.
- Branch management: List local/remote branches, create, switch, delete, rebase onto another branch, set upstream.
- Worktrees, Submodules & Bisect: Create and manage linked worktrees, initialize/update/remove submodules, and run guided bisect sessions with recovery.
- Git LFS (Large File Storage): View tracked patterns, remote support, storage usage, migration candidates, and download missing objects on demand.
- File Viewer 2.0: Browse the working tree, search files, inspect history, blame lines, compare versions, preview markdown/JSON, and open images.
- Sync & Repository Health: Fetch, pull, push with intelligent pre-push safety validation, predictive push outlook, release confidence checks, and an optional expert bypass for users who intentionally want fewer guardrails.
- Tags & Releases: List tags, add tags, and use the guided release workflow with auto-generated drafting notes.
- Stash: Create, list, apply, pop. Conflict-aware handling.
- Merge & conflicts: Merge branches; conflict resolver with Ours/Theirs per block, continue or abort.
- Interactive Rebase & Squash: Visual planner to reorder, squash, fixup, pick, and drop commits, or use the three-step squash flow.
- Cherry-pick: Single or multi-commit cherry-picking with conflict resolution.
- Reset & revert: Reset branch to a commit (soft/mixed/hard). Revert any commit (merge commits handled automatically).
- Pull requests: Create, inspect, review, checkout, and merge PRs for GitHub, Codeberg, GitLab, Forgejo, Gitea, and self-hosted variants where supported.
- AI help: Repository chat, Developer Insights (merge risk, PR complexity), and explain hunk (Apple Intelligence, cloud, or local on-device models).
- Gitzy Pro: One-time unlock for all write actions. Without Pro: read-only.
- Read-Only mode: Per-repo safety: only Fetch and Pull allowed until you enable write access.
- Provider-agnostic: Works with GitHub, GitLab, 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 over HTTPS (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, pull requests, and more.
New in 2.1
- Faster commit graph: Reopening a repo restores the graph from cache so history appears instantly; the graph still refreshes after commit, push, pull, or refresh.
- Central HTTPS token management: Settings → Authentication → HTTPS Tokens — view all hosts, credential status (OK, no token, issue), and add/update/remove tokens in one place.
- Credential health in repo detail: A small pill under the repo title shows host status; tap to update token, remove, or retry. Soft warning before sync when credentials are missing or recently failed.
- Clearer repository layout: Worktrees, LFS, Workspace, Files, Working Tree vs HEAD, and Pull Requests are grouped under “Repository” and “Browse & collaborate”.
- Release workflow: Clear message when generating draft in an empty repo; proper “Generating draft…” state in the sheet.
New in 2.0
- Pull Request workflows: Create, review, checkout, and merge PRs with provider-aware capability handling.
- Interactive Staging: Shape commits on mobile with hunk-level and line-level staging/discard.
- Patch tools: Export and apply patches with preview, sharing, and undo support.
- Power tools: Guided bisect, worktrees, submodule management, and stronger safety checks.
- Explorer 2.0: File search, syntax highlighting, blame, history, markdown/JSON/image previews, and compare actions.
Manual
The User Guide & Manual covers every feature in detail: what’s new in 2.1, getting started, repositories, commit graph, staging and committing, branches, sync, tags & releases, stash, merge and conflicts, interactive rebase, cherry-pick, reset and revert, pull requests, worktrees, submodules, LFS, Gitzy Pro, AI, security, settings, and technical foundation. Use it as a reference or to discover what you haven’t tried yet.
Repositories
The repo list shows each repository with current branch, sync status (ahead/behind), and a platform accent. From the context menu you can edit the display name, choose an accent color, or set it to Read-Only. The Repository Detail shows a Repository Health card for release confidence and sync state. The list also displays linked Worktrees hierarchically. 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, Squash into this commit…, Cherry-pick commit…, Create Worktree from 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 (including remote branches). From the graph you can Create branch from here. Rebase onto this rebases the current branch onto another; conflicts open the conflict resolver. When pushing a new branch you can set the upstream remote.
Sync (Fetch, Pull, Push)
Repo detail shows remote status (ahead/behind). Use the Sync sheet to Fetch, Pull, or Push. Push operations normally run pre-push safety validations, showing a Before You Push sheet to warn about diverging branches or unsafe states. HTTPS remotes use tokens stored in the device Keychain. If push is rejected (e.g. non–fast-forward), Gitzy shows a Push Rejected sheet with options (e.g. force push). In Settings → Safety, advanced users can enable I know what I am doing with Git to suppress Gitzy’s non-blocking push warnings and confirmations while still leaving technical blockers active.
Tags & Releases
Open Tags from the repo to list tags. From the commit graph, Add tag… creates a tag at that commit. You can also use the Release Workflow (from Repository Actions) to establish guided releases with target selection, optional remote pushing, and an in-app draft generator that builds markdown release notes from your recent commit history.
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.
Interactive Rebase & Squash
Combine a range of commits into one or rewrite history completely.
Use Interactive Rebase to visually plan your history rewrite: drag-reorder a todo list, and choose actions per commit (pick, reword, squash, fixup, drop). Gitzy automatically creates safety backup branches before rebasing.
Alternatively, use the context menu Squash into this commit….
- Select range — “Squash from selected commit up to HEAD” or “Last N commits”. Next.
- 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. - 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.
Cherry-pick
Apply specific commits from one branch to another. Open the Cherry-pick sheet from Repository Actions to pick single or multiple commits. If conflicts arise, Gitzy hands you off to the conflict resolver, allowing you to Continue or Abort. You can also quickly cherry-pick individual commits via the commit graph context menu.
Worktrees & Submodules
Manage advanced project structures via Repository Actions:
- Worktrees: View linked or detached worktrees. Create a new worktree from an existing branch or detached OID. Open worktrees natively directly within Gitzy’s UI.
- Submodules: View live submodule status (expected vs current SHA), bulk initialize/update missing submodules, add new ones, and commit metadata updates accurately.
Git LFS & File Explorer
- Git LFS: First-class Large File Storage support. A dedicated Git LFS management sheet allows you to view tracked patterns, add rules, safely download missing objects, and hydrate large files. The same Settings area also controls hydration prompts, large-file commit warnings, and migration suggestions.
- File Explorer: A read-only file browser of your working tree. Navigate directories, check file modifications, view file history, and execute line-by-line Blame to trace file origins.
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). Features include AI Developer Insights (Repo Summary, Merge Risk, Commit Quality, PR Complexity), Repository AI chat, Explain hunk, and PR assist. Gitzy includes a structured AI Safety Layer with guards to block hallucinations and unsure outputs. Local AI models (like SmolLM2 or Qwen-based architectures) run entirely on device!
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), Commit Workflow (message style, template, pre-commit checks), Sync (iCloud for app data and repo list), Safety (push warnings, force-push confirmation policy, protected branches, and the explicit I know what I am doing with Git bypass), Storage, Commit Graph, Git LFS, Appearance, AI (providers, Local AI models, diagnostics), Privacy, and Support. Existing settings now include short helper text below toggles and controls so the impact of each option is clearer without opening extra screens.
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. For developers: a structured app map (Docs/APP_MAP.md in the repo) describes the codebase layout, entry points, core flows, and technical layers for onboarding and navigation.
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.