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.
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.
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.
Clone from GitHub, Assembla and other hosting providers. Identify team-mate commits by their gravatars.
See your repository state at one glance: your working tree, Git's Index, available branches, which commits need to be pushed.
- Fetch (background): continues with next submodules if one failed
- Git-Flow: added low-level property gitflow.integrate.shortMergeMessage
- Journal: added low-level property journal.defaultAuxiliaryRef
- Gerrit: added low-level property gerrit.checkCommitMsgHookContent to avoid false-positive Gerrit detection
- Added low-level property log.dragAndDrop.offerAdvancedOperationsForDropsOntoAncestors to allow drag and drop for advanced rebase and cherry-pick operations
- Open File Log reuses Branches view selection from repository log
Select the current repository only if another repository or group was selected before (but, e.g., no subdirectory)
- Git-Flow is a high-level command set wrapping low-level Git commands to support a successful branching model. For the user it significantly reduces the necessary workflow steps and hence reduces the risk of incorrect command usage by less-experienced users.
Increased Rebase Performance
- The performance of rebase operations, especially on Windows systems, has been significantly improved (18x faster on a Windows XP test machine).
- SmartGit supports an own URI: smartgit://cloneRepo/
. This allows web applications like gitblit.org to easily trigger a clone in SmartGit/Hg.
Safe Forced Push
- To reducing the risk of overwriting changes using a forced-push, a safety check is performed ensuring that the local 'remote' branch is identical with the one in the remote repository. In other words: the forced-push is rejected if someone else has pushed something to the same branch. You have to perform a fetch first (and get the other user's changes) to successfully perform a forced-push.
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.