This powerful, multi-platform Git client assists Git newbies as well as it makes experienced developers more productive.
Does SmartGit support GitHub?
Yes, SmartGit works with different Git repositories like GitHub, Bitbucket (and BitBucket Server), GitLab, Azure DevOps, or other hosting providers.
What are the best SmartGit alternatives?
GitKraken offers Windows, macOS and Linux applications just like SmartGit. Other favorites like SourceTree and GitHub Desktop are compatible with Windows and macOS but do not offer a Linux client.
Is SmartGit free?
SmartGit is free for non-commercial use by open-source developers or students. For commercial use you will need to buy a license or a subscription.
Is SmartGit compatible with Linux?
Yes, SmartGit runs on 64-bit systems of Windows, macOS and Linux.
Features
- Graphical merge and commit history
- Drag and drop commit reordering, merging or rebase
Use your SmartGit license on as many machines and operating systems you like. SmartGit is free for non-commercial use and runs on macOS, Windows and Linux.
Everything Included.
No need to install and configure additional tools.
SmartGit includes:
- Command line Git client (Windows, macOS)
- Graphical Merge and Commit History
- Git-Flow
- SSH-client
- File Compare
- File Merge ("Conflict Solver")
Adapt to Your Needs and Workflows.
A commercial Git client should support your work-flows. You can customize SmartGit in various ways:
- Preferences for Merging, Rebasing
- Layout of certain views,
- External tools,
- External or built-in Compare or Conflict Solver tools,
- Keyboard shortcuts,
- Toolbars,
- Syntax coloring,
- Light and dark themes
Interacting with popular platforms.
SmartGit comes with special integrations for GitHub, BitBucket and BitBucket Server (former Atlassian Stash) to create and resolve Pull Requests and Review Comments.
Of course, you can use SmartGit like any other Git client with your own Git repositories or other hosting providers (e.g. GitLab).
Simplicity.
Focus on what is really important: SmartGit/Hg will ask only when it needs a decision, but doesn't bother you with underlying technical constraints.
All inclusive.
There is no need to install and configure additional tools: SmartGit/Hg comes with a built-in SSH client, a File Compare and 3-Way-Merge.
Powerful features.
Reorder commits before pushing, commit individual lines within a file, resurrect lost commits and many more.
One for all.
Use SmartGit/Hg for Git, Mercurial or SVN. On Mac, Windows and Linux. Purchase once and use on all of your favorite platforms.
Popular webservices.
Clone from GitHub, Assembla and other hosting providers. Identify team-mate commits by their gravatars.
Optimal overview.
See your repository state at one glance: your working tree, Git's Index, available branches, which commits need to be pushed.
What's New
Fixed Bugs
Changes view:
- Internal error trying to stage "left" block at first line
- Unstage Selection: internal error for last block in unified diff view
- Changes view/File Compare/...: parsing was broken if token ended with 32-bit char (e.g. "emoji")
- Cherry-Pick/Squash Commits: possible internal error related to invalid Git commits
- Fetch more: after unshallowing commits graph is not refreshed
- Git-Flow, Init: failed in empty repository; now it creates initial empty commit if required
- GitLab: possible error "Object 'sha' not found"
- Init: may fail to create objects in case of file system problems
- Investigate: initial switch from Blame to Diff view gives empty panel
Log Graph (and Commits view):
- for email-only '.mailmap' lines, the original Author name was lost
- for '.mailmap' lines containing '<>', mapping was not applied
- Rebase: some warning dialogs showed "Merge" instead of "Rebase" in title
Refresh:
- possible internal error if 'mailmap.file' contains an invalid path
- possible error "The process cannot access the file because another process has locked a portion of the file" for untracked-missing rename detection
- Rename: was not applicable any more for submodules (regression since 22.1)
- Remove: was not applicable any more for submodules (regression since 22.1)
- Window | Reset Perspective: kept previous layout
Standard window:
- possible internal error if a dialog occurs (e.g. master password dialog) while dragging a tab
- internal error trying to modify toolbar with "Basic" feature set
- Graph: internal error when toggling "Show Tags" before graph has been loaded
Linux:
- File Compare (and other editors): internal error undoing changes after having typed Chinese characters with Pinyin
Windows:
- possible error "Failed to invoke filter 'lfs'"
- possible errors related to invalid HOME
Other Noteworthy Changes
Clone:
GitHub: improve error message if authentication fails due to outdated username/password
Conflict Solver: the Base window now has its own window bounds
Evaluation: more possibilities to copy evaluation-IDs for expired evaluations
Log and Working Tree window: optionally hide *Toggle 'Assume Unchanged'* and *Toggle 'Skip Worktree'* commands by setting the low-level property 'file.contextMenu.toggleRareFileStates' to 'false'
macOS:
Setup wizyard: when searching repositories avoid scanning into directories known to trigger macOS to show a confirmation dialog
Installation Instructions for Windows
- if you have an older SmartGit version installed, exit SmartGit (use Project|Exit; there should be no more SmartGit tray icon),
- unpack the downloaded file,
- launch the installer and follow the instructions
Installation Instructions for Mac
- if you have an older SmartGit version installed, quit SmartGit,
- unpack the downloaded file (e.g. by double clicking it) and move the application directory structure to a directory of your choice (typically /Applications)
- if you prefer, drag'n'drop the application to the dock to create an icon
Installation Instructions for Linux
- unpack the downloaded file into a directory of your choice,
- ensure, that the correct Java Runtime Environment is installed on your system,
- start the application by using the launcher script from the bin directory
If the application fails to start, e.g. because you have an incompatible JRE version on your system, it might be necessary to set the SMARTGITJAVAHOME environment variable to the root path of the Java Runtime Environment 1.6 from SUN. To create an icon on your desktop, you'll find suitable images in different sizes in the bin directory.