A complete Git client with everything you need to manage repositories visually.
Interactive, color-coded commit graph with colored lane lines, virtualized scrolling, branch/tag decorations, and Gravatar avatars. Click any commit to inspect details, diff, and changed files.
Clone remote repositories with advanced options: select branch, bare clone, recurse submodules, and shallow clone with configurable depth.
Walk your filesystem to automatically discover and import existing Git repositories into GitSmith.
Organize repositories into favorite categories and quickly access recent repositories from the Start menu.
Filter the commit graph by branch name. Include or exclude specific branches with the visibility filter dropdown.
Advanced commit search: filter by message (grep), author, or code changes (pickaxe search).
Full-featured commit dialog with tree view, stage/unstage buttons, amend mode, discard changes, and a commit dropdown with options.
Stage or unstage individual lines and hunks with surgical precision. Commit exactly what you need.
Conventional Commits templates built in. Quick-select type, scope, and description for consistent commit messages.
Generate meaningful commit messages automatically from the staged diff using AI (Anthropic, OpenAI, or Gemini).
Right-click any file in the commit dialog to quickly add it to .gitignore.
Sign commits with your GPG key. Configure signing settings in the Git Config panel.
Create, rename, and delete local and remote branches. Set upstream tracking with one click.
Git Extensions-style checkout with branch selection and local changes handling (stash, merge, discard).
Advanced merge with branch selector, fast-forward/no-ff options, squash merge, and custom strategy flags.
Standard and interactive rebase. Drag-and-drop commits to reorder, squash, edit, or drop. Conflict handling with step-by-step progress.
Cherry-pick commits from the graph context menu with no-commit and mainline options for merge commits.
Revert any commit with no-commit and mainline options. Available from the commit graph right-click menu.
Internal merge conflict resolver with file list, conflict marker parsing, and accept ours/theirs/both buttons.
Configure your preferred external merge tool: KDiff3, Meld, Beyond Compare, WinMerge, and more.
Let AI analyze the conflict and suggest a resolution with an LCS diff preview before applying.
Visual banner shows merge/rebase/cherry-pick progress with abort, continue, skip, and resolve actions.
Syntax-highlighted diffs in side-by-side or unified mode, powered by diff2html.
View the full history of any file with per-commit diffs (git log --follow).
Per-line annotations showing who changed each line and when.
Compare any two commits: right-click a commit to compare with HEAD or with a previously selected commit.
Right-click any file for File History, Blame, Open in editor, Copy path, and more.
Automatically generate a changelog grouped by conventional commit type from any range of commits.
One-click fetch (all/prune), pull (merge or rebase), and push. Ahead/behind indicators on tracked branches.
Configurable auto-fetch interval with smart notifications only when remote refs change.
Find and delete remote branches older than a configurable threshold.
Create pull requests with AI-generated titles and descriptions, branch autocomplete, and template support.
Multi-account identity management with per-repo assignment, SSH key support, and toolbar selector.
Add, remove, and configure remotes. Delete remote branches and tags from the context menu.
Full stash dialog with file tree, diff viewer, create, pop, apply, drop, and stash options (include untracked, keep index).
Create lightweight or annotated tags, push to remote, delete local and remote tags.
Reset branch to any commit with soft, mixed, or hard mode.
Browse the reflog to recover lost commits and understand branch movements.
Binary search through commits to find the one that introduced a bug.
Manage Git worktrees to work on multiple branches simultaneously without switching.
List and update submodules from the sidebar.
Large File Storage support: track, untrack, and manage LFS files.
Create and apply patches for sharing changes outside of Git remotes.
Export repository snapshots as ZIP or TAR archives.
Add, edit, and view notes attached to commits.
View and manage Git hooks configured in your repository.
High-contrast Catppuccin-inspired dark and light themes, both designed for readability.
Dockable panel layout powered by dockview. Drag, resize, and rearrange panels to fit your workflow.
Embedded terminal (node-pty + xterm.js) for running shell commands without leaving the app.
See every git command GitSmith executes, complete with arguments and output.
Ctrl+O open, Ctrl+K commit, Ctrl+F search, and many more.
Interface available in English, Italian, and German.
Open files in VS Code, VS Code Insiders, Cursor, or any custom editor directly from GitSmith.
Automatic update notifications with one-click download from GitHub Releases.
Leaderboard with timeframe filters, expandable author detail including sparkline, heatmap, top files, and streaks.
Language breakdown bars, file type grid, test ratio indicator, and overall repository health metrics.
Download GitSmith for free and take control of your repositories.