Git on Windows

Update 2012-09-14. Install Git-Extensions – nothing else needed! (msysgit and kdiff3 are included in the install).

I’ve been happily using Mercurial for personal projects (the cli on Unix and TortoiseHg on Windows), but avoiding Git has been like holding back the sea. The dike finally broke on Saturday, when Ivo Jansch announced he was forking ATK (the incredibly efficient PHP web app RAD framework he had created while at iBuildings), and I could see Git was going to become a much more significant part of my development flow (more on this to come I hope).

Refreshing my memory of Windows Git clients, it seem the main choices are:

Git for Windows (aka git-gui) is the official Windows client. I’ve tried it before and it works, although not as polished as TortoiseHg.

SmartGit, although commercial software, is interesting because it supports both Git and Mercurial, and a review recommended SmartGit for new Git users. The review also said SmartGit is “free for personal use”, but my interpretation of the free non-commercial license is that including SmartGit in any revenue-generating activity is not allowed. In other words, I don’t believe the license permits you to use SmartGit for managing your open-source project if you are also selling services related to the project. That said, I’m going to try out SmartGit first – if only to get my Git-legs back.

TortoiseGit is a port of TortoiseSVN for Git, and I suspect what I will eventually be using –  unless SmartGit is so impressive that I’m willing to part with $80 for a single-user commercial license.

I’ll update you after spending a couple weeks with SmartGit and TortoiseGit.

Dale

3 Replies to “Git on Windows”

  1. A few years back I used TortoiseHg: and it was good. I am now back in SVN but we are considering a switch to DVCS. TortoiseSVN seems a bit clunky compared with TortoiseHg (the GUI, not just SVN vs. Hg) and TortoiseGit is based on TortoiseSVN (and it looks it from the screenshots).

    Aside from the underlying Git/Hg differences, any chance you could provide even a brief ‘compare and contrast’ comment on the corresponding Tortoises?

    1. Hi Kyle, I hope to have some new information in a couple weeks after migrating Achievo from SVN to GitHub, during which I’ll try to experiment with a couple Git GUI tools.

  2. After some more experience, I’ve switched to Git-Extensions from TortoiseGit because it presents a much more Git-centric philosophy (while TortoiseGit seems to be more a way to ease into Git from an SVN background).

    Git-Extensions includes Git (mysysgit, with Git Bash and Git Gui) as well as KDiff3 for 3-way merges (so I’m also switching from WinDiff to KDiff3, although KDiff3 also includes integration with WinDiff – perhaps indicating WinDiff could still be “better” for 2-way diffs and merges) .

    I’m hopefully nearing the end of migrating the Achievo project from it’s original SVN repo to a new home on GitHub (https://www.github.com/atkphpframework/achievo). I’ll write a blog post on the details, but in the process I’m liking Git more and more. The commands aren’t as “nice” as Mercurial, but when in Rome….

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.