Fork
Fast and friendly Git GUI client.
Official WebsiteFeatures
Installation
brew install --cask forkWhy 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 Interface: Clean and intuitive design. Detailed screenshots available on the official website.
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
- Add a local repository via "File" → "Open"
- Clone from remote via "File" → "Clone"
- Right-click a repository in the left sidebar to add it to a group
- Drag tabs to display multiple repositories side by side
Staging Changes and Committing
- View changed files in the "Changes" tab
- Click a file to preview the diff
- Stage using the "Stage" button or double-click
- For line-by-line staging, select in the diff view and stage
- Enter a commit message at the bottom and click "Commit"
Key Features
Interactive Rebase
A powerful feature for visually organizing commit history.
- Right-click a commit and select "Interactive Rebase"
- Reorder commits with drag and drop
- Right-click to select squash, fixup, edit, or drop
- Execute with the "Rebase" button
# 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 onlyImage 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
- 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 + PAdvanced 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+1 | Ctrl+1 | Switch to Changes tab |
Cmd+2 | Ctrl+2 | Switch to All Commits tab |
Cmd+3 | Ctrl+3 | Switch to Stashes tab |
Cmd+Shift+A | Ctrl+Shift+A | Stage all changes |
Cmd+Enter | Ctrl+Enter | Commit |
Cmd+Shift+P | Ctrl+Shift+P | Push |
Cmd+Shift+L | Ctrl+Shift+L | Pull |
Cmd+Shift+S | Ctrl+Shift+S | Stash |
Cmd+B | Ctrl+B | Create 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 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 --webTips
- *Select lines in the diff view and right-click → "Stage Selected Lines" to stage by line
- *Use
Cmd/Ctrl+Tto open the quick open dialog and quickly search repositories and branches - *Press
Cmd/Ctrl+Enterwhile 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
- Official Website: https://git-fork.com/
- Release Notes: https://git-fork.com/releasenotes
- Twitter: @nickarner