I’m definitely a Microsoft guy at heart, and when I saw GIT talk I was thinking “How weird people are still talking about the Global Instance Table” these days! To us Brits a GIT is also a less than pleasant person. However this GIT I’m talking about is a open source “source control system” (SCM) mean to rival the commercial BitKeeper. For a full description of this check out the always handy Wikipedia GIT entry.
So now we know which GIT we are talking about on to the interesting stuff! Running GIT on Windows… unfortunately as it was originally inspired (some could say mandated – but that is a different history lesson) for the Linux kernel it is ‘better’ supported on that platform. As with most OSS projects (not all, but most Linux based ones) they carry claims similar to “its good for testing, but dont run production code on Windows”.
So they question everyone asks them selves is “How is this one different than all the others TFS, SubVersion, etc?” (note I am intentionally not including VSS as that just gives SCM a bad name
). Fundamentally there is one big key difference:
- GIT supports offline commits. To me this is the fundamental difference, and really provides the value in GIT. If you are offline (say on a customer site with no connectivity to your central TFS or Svn system) you can make a number of changes and not have to wait to check in the changes when you are connected again. Basically isolating your change sets as and when you want to do them rather than being constrained by the network connectivity. Kinda very cool indeed!
That all being said I’m just going to reference some blogs of people who deserve the recognition of writing the various usages down:
- Download GIT for Windows here
- Git Extensions
- Git Extensions is a toolkit to make working with Git under Windows more intuitive. The shell extension will integrate in Windows Explorer and presents a context menu on files and directories. There is also a Visual Studio plug-in to use git from Visual Studio – and they have videos!
- The fabulous TortoiseSVN has (or is being) been forked to support GIT as TortoiseGIT - this is a refreshingly familiar look & feel for Windows users. Check this gem out – definitely worth it.
- Git For Windows Developers – Git Series – Part 1
- Git For Windows Developers – Git Series – Part 2
- Git For Windows Developers – Git Series – Part 3
- Ten steps on how to store Git repositories in Live Mesh!
- This is a cool concept that I wish I had thought off! There is also this CodeProject article Cloud-Based Source Control using Live Mesh and Git.
So even if you dont like the Mesh cloud storage approach (or experience some difficulties) there is a neat solution available. “GITHub Social Coding“, these folks market their solution as GitHub for both Public Open Source and Private Business Code. Unfortunately it appears that the free 300Mb is only available to OpenSource projects (not surprising and you cant always get everything for free!), but the nice thing is that the pricing seems wholly fair and not exorbitant for the personal usage. We all know second to having adequate Source control is having a rock solid ‘restore’ strategy, some may call this a backup strategy – but I find in most cases people dont care “give a {insert expletive}” about backups, its the restores people care about! It appears that using this type of service means you will have a backup on your machine, and they have backups on theirs. So if your house burns to the ground and your fireproof safe holding your backups is compromised (everyone has got one right
) or they go out of business (which I sincerely hope wouldn’t happen) your source remains safe. Trust me that sinking feeling of realizing you have lost your source code is never a good thing!
So GIT started already
– obviously test the crud out of it first though so you feel confident!
Gareth
[...] the weekend I did a bit more of a heavier dive on GIT and discovered a couple of [...]