- Adding Tower in here too. The UI is much better than SourceTree. Actually looks like it has improved quite a bit since I last used it. So I think worth giving it a try as well.
- I've tried a bunch of these and I keep coming back to SourceTree. I think because it's the "most complete". The UI isn't the best, but I trust it & it makes cherry picking really easy. I've also used Tower and really liked it.This app turned me in to Git from Subversion years ago. Never looked back.
- The successor of GitHub for Mac, still in beta but already works really well.I'm a fan. Works well & good UI.
- This is what I use (when not using the CLI). I have used both the other recommendations and this is better than both SourceTree and Tower in my opinion. It looks beautiful and is the easiest to use and learn that I have found so far. Free for most users, some business users might want the pro version but its priced very affordably and fair. I should mention that this is cross-platform. So yes it works on Mac, but also on Linux and Windows. You can use the same license (if you opt for pro) and the same UI/UX familiarity across all platforms you use.Also, the gitkraken's merge-solving tool is awesome.
- Has all the essential features plus a great visual representation of the commit graph. I find it very useful to see branches and merges.This one is so easy to use, and much much faster on big repositories than every other one I tried.
- It's already on the machine and it works. I have nothing against those who prefer graphical UI's for Git, but I find that I make fewer mistakes using the command line.I use the terminal for 95% of work with git. Once you learn it, there is no faster and more efficient tool. Zero clicks (just typing short commands and hitting enter) are required for doing anything. If you're programming already then you're comfortable with your keyboard and so you can type out short commands and get something done in Git in less time usually than it takes to boot up one of these other GUIs. I use terminal for branches, commits, tags, resetting, cloning, and pulling updates. These commands are each individually less than 20 characters each, it's just so fast that you can't ignore it. I'll admit however, that I still have a GUI installed and use it on occasion. Whenever I'm doing something complicated or need better branch visuals, or sorting through advanced data to "blame" or something then I'll use a GUI, so I keep one installed for that purpose. I also find that dealing with merge conflicts is far easier with a good GUI (I recommend GitKraken as a GUI). But if you learn Git on the terminal it will save you a ton of time. I'm serious that I can check status of a commit, make a commit, add a message, add a tag, make a commit and then merge a branch over and then push the changes all in less time on the terminal than I could boot up a GUI and connect to my repo. It would take me about 30 seconds to do all of that in the terminal. I can do a traditional, Git add, Git commit, Git push (what most of my Git interactions are) is less than 10 seconds.
- If you prefer Github's Atom editor, they recently added a Git workflow directly inside the app. It allows you to stage, cherry pick commits, and push and pull without leaving the editor. I love it because it means one less tool I need to download and use.I have to agree with Atom. I came across their Git support by accident the other day, when I was dealing with a failed merge, but the Git integration made it super easy to sort through all the conflicts, stage the changes, and then commit.
- I have recently started using Git Kraken by Axosoft for my personal projects and I am really amazed by how great it is. It is cross platform and is available for Linux, Mac and Windows.Sara (Breeding) Stamas made this productGitKraken is a Git GUI client for not only Mac, but also Windows and Linux. It's a visual UI for Git that’s not only beautiful, but is also a true time-saver for Git beginners and pros. GitKraken simplifies complicated commands into drag and drop actions. It makes working with remote repositories easier through integrations with GitHub, Bitbucket and GitLab. It allows you to resolve merge conflicts without ever leaving the app. And it supports Gitflow, Git Hooks, LFS, and more. Check it out at https://www.gitkraken.com/
- This had not been updated for many years. But it does what I need most. Simple rebasing, allows me to switch between remote and local branches, shows me where I'm at, etc. For the day to day stuff it couldn't be simpler to use, but definitely no frills. The newer clients have way too many bells and whistles for me.