Terminal GuideTerminal Guide
fork icon

Fork

Git Tools
macOSWindows
Native

Fast and friendly Git GUI client.

Official Website

Features

FastInteractive RebaseImage DiffGit LFS SupportRepository Manager

Installation

Homebrew
brew install --cask fork

Why Use Fork?

Fork is a fast and beautiful Git client designed for macOS and Windows. It offers smooth native app performance with comprehensive features to meet developer needs.

Outstanding Speed

Developed as a native app, it runs smoothly even with large repositories. Displays thousands of commits instantly.

Interactive Rebase

Visually manipulate commits. Easily perform squash, reorder, edit, and drop with drag and drop.

Image Diff Display

Visually compare image file changes. Great for design collaboration and UI change verification.

Repository Manager

Manage multiple repositories in tabs. Organize projects with custom groups and switch quickly.

Interface

Fork - All Commits
=.repeat(60)
Repository Manager
Project A
* my-app
api-server
Project B
web-client
Branches
* main
develop
feature/auth
Tags
v1.0.0
v0.9.0
Commit History
* 3h ago Add authentication
* 5h ago Update README
* 1d ago Fix navigation bug
* 2d ago Initial setup
Modified: 3Staged: 1Stashes: 2

Fork Interface: Clean and intuitive design. Detailed screenshots available on the official website.

Installation

Installation
# macOS (Homebrew Cask)
brew install --cask fork

# Windows (Chocolatey)
choco install git-fork

# Windows (Winget)
winget install Fork.Fork

# Or download from the official website
# https://git-fork.com/

Fork is currently available as a free evaluation version. License purchase is optional, and there are no feature restrictions after purchase.

Basic Usage

Repository Management

  1. Add a local repository via "File" → "Open"
  2. Clone from remote via "File" → "Clone"
  3. Right-click a repository in the left sidebar to add it to a group
  4. Drag tabs to display multiple repositories side by side

Staging Changes and Committing

  1. View changed files in the "Changes" tab
  2. Click a file to preview the diff
  3. Stage using the "Stage" button or double-click
  4. For line-by-line staging, select in the diff view and stage
  5. Enter a commit message at the bottom and click "Commit"

Key Features

Interactive Rebase

A powerful feature for visually organizing commit history.

  1. Right-click a commit and select "Interactive Rebase"
  2. Reorder commits with drag and drop
  3. Right-click to select squash, fixup, edit, or drop
  4. Execute with the "Rebase" button
Rebase Operations
# Operations available in Fork's interactive rebase
Pick   - Use the commit as is
Squash - Combine with previous commit (edit message)
Fixup  - Combine with previous commit (discard message)
Edit   - Edit commit content
Drop   - Delete commit
Reword - Edit commit message only

Image Diff

Compare image file changes in multiple ways.

  • Side by Side: Display before and after side by side
  • Swipe: Confirm changes with a slider
  • Onion Skin: Overlay with adjustable opacity
  • Difference: Highlight changed areas

Branch Management

Branch Operations
# Branch operations
- Double-click: Checkout
- Right-click → New Branch: Create new
- Right-click → Merge into Current Branch: Merge
- Right-click → Rebase Current Branch: Rebase
- Right-click → Delete: Delete

# Remote branches
- Fetch: Cmd/Ctrl + Shift + F
- Pull: Cmd/Ctrl + Shift + L
- Push: Cmd/Ctrl + Shift + P

Advanced Features

  • Cherry-pick: Apply specific commits to another branch
  • Stash: Temporarily save and restore work in progress
  • Blame: View the last modifier for each line
  • File History: Track changes to specific files
  • Submodules: Manage submodules
  • Git LFS: Support for managing large files

Keyboard Shortcuts

Key (Mac)Key (Windows)Action
Cmd+1Ctrl+1Switch to Changes tab
Cmd+2Ctrl+2Switch to All Commits tab
Cmd+3Ctrl+3Switch to Stashes tab
Cmd+Shift+ACtrl+Shift+AStage all changes
Cmd+EnterCtrl+EnterCommit
Cmd+Shift+PCtrl+Shift+PPush
Cmd+Shift+LCtrl+Shift+LPull
Cmd+Shift+SCtrl+Shift+SStash
Cmd+BCtrl+BCreate new branch

Settings and Customization

Preferences

  • Git Config: Configure username and email
  • Custom Actions: Add custom commands
  • External Diff Tool: Configure external diff tool
  • External Merge Tool: Configure external merge tool
  • Terminal: Specify terminal application to use

Custom Actions

Register frequently used commands as custom actions.

Custom Actions
# Custom action examples (Preferences → Custom Actions)

# Stash with message
Name: Stash with message
Script: git stash push -m "$1"
Arguments: Stash message

# Create feature branch
Name: Start Feature
Script: git checkout -b feature/$1 develop
Arguments: Feature name

# Open PR after push
Name: Push and Create PR
Script: git push -u origin HEAD && gh pr create --web

Tips

  • *Select lines in the diff view and right-click → "Stage Selected Lines" to stage by line
  • *Use Cmd/Ctrl+T to open the quick open dialog and quickly search repositories and branches
  • *Press Cmd/Ctrl+Enter while entering a commit message to commit quickly
  • *Right-click a file and select "Open in Finder/Explorer" to open the file location
  • *Double-click a commit in the commit graph to view details, right-click to access various operations
  • *Regularly execute "Fetch all" to keep remote changes up to date

Official Resources

Written by Dai AokiPublished: 2026-01-20

Related Articles

Explore More