Subscribe to:

The Kiwi's TaleWitchBlasterDerelict Blow Stuff Up

First impressions of a Git

Git is an open source version control system. For non-technical people, that basically means it allows multiple users to collaborate on a software project at the same time, and have the ability to track (and revert) changes to every file.

It's already used to manage Linux kernel development (No doubt in part because Git is also a Linus Torvalds creation) and Drupal development is migrating to it from CVS.

So, I thought I might give it a shot, and see if I can use it to manage all of my future game development projects. I'm using the msysgit Windows port as well as the TortoiseGit windows shell integration, which both seem to be pretty stable. ProjectLocker is who I am using as my off-site Git host, pretty much because they offer unlimited free Git repositories as long as the total space used falls under 500mb.

The stuff I really like about it is:

  1. Every local copy of a repository is a complete repository in it's own right. That means you commit and revert version changes against your own repository without needing an internet connection.
  2. It's incredibly easy to create, merge and switch between branches of the development. For instance, you might have a 'stable' branch but work mostly in the 'unstable' branch, merging the two for each software release.
  3. All of the Git files are stored in a single hidden folder at the repository source. One thing that annoyed me endlessly about SVN was how it added hidden folders to every folder in the project.
  4. The project locker repositories are secured with a Private/Public key system. A little bit trickier to set up than a password, but virtually unbreakable when done.

So far, so good. I'll make another post when I have more to say about my experience with Git.