The command line is a powerful way to use version control systems, but not everyone is as comfortable with memorizing and using text commands. Thankfully, there are many good GUI clients available for popular version control and operating systems. We’ve compiled a list of our favorites below.
Subversion is a popular choice for people who are new to version control because of it’s robust ecosystem of clients.
Cornerstone (Mac, $59)
Cornerstone is our favorite Subversion client for the Mac. It has some unique and useful features, including built-in file comparison and the creation and merging of tags and branches. Cornerstone includes syntax highlighting for many popular languages, and even supports design files such as PNGs, PSDs and JPGs.
Cornerstone is also integrated with Beanstalk, making it easier to add your repositories.
Versions (Mac, $59)
Versions is another very powerful client for Mac. It provides the most important features and tools at the click of a mouse. You can commit your work, stay up to date and easily track changes to projects and files. You can even create new Beanstalk repositories right from inside Versions.
See also: svnX is an open source and free OS X client with the most basic features.
TortoiseSVN (Windows, Free)
TortoiseSVN is free, very powerful and popular Subversion client for Windows. It is implemented as a Windows shell extension, which means that it integrates seamlessly into the Windows Explorer and other file managers. Many languages are available for international users. TortiseSVN also comes with helpful tools like TortoiseMerge, TortoiseBlame and TortoiseDiff.
RabbitVCS (Linux, Free)
RabbitVCS works both with Subversion and Git repositories, and provides a graphical experience on Linux systems. It seamlessly integrates into Nautilus and Thunar workflows (similar to how to TortoiseSVN shows up in Explorer in Windows), and provides an easy way to commit files, update working copy and stay up to date with changes in your project repositories.
SmartSVN (Multi-platform, $69)
SmartSVN runs on Windows, Mac, and Linux and provides many of the most needed tools out of the box — an SVN client, file comparison, conflict resolver and an SSH client. There are lots of powerful features to make your day-to-day work easier — branches and tags support, revision graphs, Windows Explorer and OS X Finder integration depending on your OS, merging tool and an advanced commit wizard.
A multi-platform SmartGit application with similar interface and features set is available too.
IDE Integration with Subversion
PixelNovel Timeline is smoothly integrated into Adobe Photoshop, Illustrator and InDesign CS5. Rather than save your design files as homepage_v2_final2b.psd, Pixelnovel features a unique user interface for your graphical files that allows you see all versions of your files without switching away from the design application.
Coda by Panic is one of the best applications for web development with it’s powerful text editor, native Subversion, Git and S/FTP support, built-in terminal, CSS tools and much more.
This Adobe article explains how to use Subversion with the Dreamweaver code editor.
VisualSVN is a plug-in that integrates Subversion and TortoiseSVN seamlessly with Visual Studio.
Subclipse is a plug-in providing support for Subversion within the Eclipse IDE.
Git is more complex to understand than Subversion. While a number of powerful clients have emerged to make using Git easier, we strongly recommend learning to use the command line before jumping into one of the clients below. Once you’ve got a handle on how things work, you can use one of the tools below to make your daily workflows easier.
Git Tower (Mac, $59)
Git Tower is our recommended Git client for Mac. It’s a new, well designed, full-featured application with Beanstalk support out of the box, making it easy to add new Beanstalk repositories without leaving the application. The integrated diff tool makes it easy to review changes before committing. The commit history’s search and graphs provides a quick way to review progress on your projects. Your other favorite Git goodies are there too — it supports merging, branching, tagging, stashing and cherry-picking.
Gitbox (Mac, $14.99)
Gitbox provides simple and clean access to your repository history and working copy, with visual tools for pushing and pulling from remotes and remote branches easily.
TortoiseGit (Windows, Free)
TortoiseGit is probably the most popular Git client on Windows. It’s an open-sourced port of TortoiseSVN to Git. It works as a Windows shell extension, easily integrated with Explorer and other file managers and comes with a set of helpful tools like TortoiseMerge, TortoiseBlame and TortoiseDiff.
Git Extensions (Windows, Free)
Git Extensions is a powerful open-source Git client for Windows. It provides a rich user interface, integrates with Windows Explorer and has plugin for Visual Studio. Important tools like commits log, files history, diff and blame are included in a single application.
RabbitVCS (Linux, Free)
We already wrote about RabbitVCS previously, but as we said it supports Git too. It seamlessly integrates into Nautilus and Thunar workflows (similar to how to TortoiseSVN shows up in Explorer in Windows), and provides an easy way to commit files, update working copy and stay up to date with changes in your project repositories.
Giggle (Linux, Free)
Giggle is a graphical front-end for Git repositories (think of gitk on GTK+). It combines both the repository browsing and changing functions into one program.
SmartGit (Multi-platform, $79)
SmartGit is a sibling to SmartSVN, which means it’s easy to use and contains all of the same necessary functionality. SmartGit is available on all major operating systems, and it contains a Git client, SSH client, compare and merge tools. The graphical log can show the change history of the whole project or a single file, and all other important tools are there as well.
IDE Integration with Git
Git Textmate Bundle (Free)
An open-source Git bundle for the popular Textmate editor on OS X.
We already mentioned Coda by Panic in Subversion section. It is one of the best applications for web development with it’s powerful text editor, native Subversion, Git and S/FTP support, built-in terminal, CSS tools and much more.
EGit is a plug-in providing support for Git within the Eclipse IDE.
GITWeaver integrates Adobe Dreamweaver with TortoiseGIT.
Mercurial (Hg) Clients
Many people choose Mercurial because it is easier to learn and understand than Git, but gives you many of the same advantages of distributed version control provides over centralized tools like Subversion.
There are a number of powerful clients available to make using Mercurial easier. We strongly recommend learning to use the command line before jumping into one of the clients below. Once you’ve got a handle on how things work, you can use one of the tools below to make your daily workflows easier.
SourceTree (Mac, Free)
SourceTree is a feature-packed client for Mercurial for both novice and advanced users. It allows you to review changesets, cherry-pick between branches, handle pathces, rebase, stash / shelve and much more.
MacHg (Mac, Free)
MacHg is a nice, free open source Mercurial client for Mac. MacHg allows you to simply manage files in your Mercurial repository.
TortoiseHg (Windows, Free)
TortoiseHg is a popular Windows shell extension and a series of applications for Mercurial. It is based on the Windows shell extension TortoiseSVN for Subversion. It is very simple to use and also includes a Gnome/Nautilus extension and a CLI wrapper application so the TortoiseHg tools can be used on non-Windows platforms.
HgExplorer (Windows, Free)
HgExplorer makes common operations like updating, commiting, diffing files and folders, merging and reverting changes easier.
EasyMercurial (Multi-Platform, Free)
EasyMercurial is a simple user interface for the Mercurial distributed version control system. It’s free, open source, and cross-platform. EasyMercurial makes common working patterns easy to follow, particularly when using a shared remote repository: it uses a friendly graph representation for the change history, to make branching and merging easier to understand and it looks and behaves consistently across platforms.
IDE Integration with Mercurial
Textmate Mercurial Bundle (Free)
An open-source Mercurial Bundle for the popular Textmate editor on OS X.
MercurialEclipse is a plugin providing support for Mercurial within the Eclipse IDE.
VisualHG is a Mercurial Source Control Plugin for MS Visual Studio.