GitFlow Documentation

GitFlow is a free, professional-grade Git GUI for macOS, designed to make Git safe, understandable, and powerful for developers of all skill levels.

Open Source: GitFlow is completely free and open source under the MIT license. Contribute on GitHub.

Installation

Download the latest release from GitHub and drag GitFlow to your Applications folder.

Download Options

First Launch

On first launch, macOS may show a security warning since the app is not notarized. To open it:

  1. Right-click the app in Finder
  2. Select "Open" from the context menu
  3. Click "Open" in the dialog

Quick Start

Get up and running with GitFlow in under a minute.

Open a Repository

Use Cmd + O or drag a folder onto the GitFlow icon to open a repository.

Clone a Repository

  1. Use Cmd + Shift + O to open the clone dialog
  2. Enter the repository URL (HTTPS or SSH)
  3. Choose a destination folder
  4. Click "Clone"

System Requirements

macOS Version

macOS 13 (Ventura) or later

Architecture

Apple Silicon (M1/M2/M3) and Intel

Git

Git 2.30+ (uses system Git by default)

Storage

~100 MB for application

Repository Management

GitFlow provides comprehensive repository management capabilities.

Repository Overview

When you open a repository, the overview screen displays:

Recent Repositories

Access recently opened repositories from the welcome screen or via Cmd + Shift + R.

Staging & Commits

GitFlow offers granular control over what goes into each commit.

File States

Files in your working directory can be in these states:

Partial Staging

Stage exactly what you want to commit:

Tip: Use partial staging to create focused, atomic commits that are easier to review and revert.

Creating Commits

  1. Stage your changes
  2. Write a commit message (follow the Conventional Commits format)
  3. Press Cmd + Enter or click "Commit"

Amending Commits

To modify the most recent commit:

  1. Check "Amend previous commit" below the commit message
  2. The previous commit message will be loaded
  3. Make changes and commit

Warning: Only amend commits that haven't been pushed. Amending pushed commits requires a force push and can disrupt collaborators.

Branch Management

Comprehensive branch operations with safety guardrails.

Branch Operations

Branch Safety

GitFlow prevents accidental data loss:

Comparing Branches

Select two branches and choose "Compare" to see:

Diff Visualization

GitFlow's diff engine is a core feature, designed for professional code review workflows.

View Modes

Unified View

Additions and deletions inline, optimized for quick scanning.

Split View

Side-by-side comparison with synchronized scrolling.

Word-Level Highlighting

Changes within lines are highlighted at the token level:

Diff Contexts

View diffs for various comparisons:

Syntax Highlighting

Automatic language detection with support for 100+ languages. Colors are designed to work with diff highlighting, not against it.

Merge & Rebase

Merge Options

Interactive Rebase

Visual interface for rewriting history:

Conflict Resolution

When conflicts occur, GitFlow displays:

Remote Operations

Fetch

Download changes from remote without merging. Use Cmd + Shift + F or enable auto-fetch in preferences.

Pull

Fetch and integrate changes:

Push

Upload your commits to the remote. GitFlow will warn you about:

Force Push: Requires double confirmation. Use with extreme caution on shared branches.

Stash Management

Temporarily save changes without committing.

Stash Operations

Submodules

GitFlow detects and displays submodule status.

Submodule Features

Configuration

Access preferences via Cmd + ,

Available Settings

Keyboard Shortcuts

Action Shortcut
Open repository Cmd + O
Clone repository Cmd + Shift + O
Create branch Cmd + B
Switch branch Cmd + Shift + B
Commit Cmd + Enter
Fetch Cmd + Shift + F
Pull Cmd + Shift + P
Push Cmd + P
Stash changes Cmd + Shift + S
Preferences Cmd + ,

Troubleshooting

GitFlow can't find Git

Ensure Git is installed and accessible:

which git
git --version

If using a custom Git installation, set the path in Preferences → Git → Git Binary Path.

Authentication failures

Repository appears corrupted

Try running Git's built-in repair:

git fsck --full
git gc --prune=now

Report Issues

Found a bug? Please report it on our GitHub Issues page with: