Error message

  • Notice: Trying to access array offset on value of type int in element_children() (line 6543 of /home1/dewey/drupal/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6543 of /home1/dewey/drupal/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6543 of /home1/dewey/drupal/includes/common.inc).
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /home1/dewey/drupal/includes/common.inc).
  • Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in menu_set_active_trail() (line 2404 of /home1/dewey/drupal/includes/menu.inc).

GIT for SVN users: An introduction

This is part of a series of posts about GIT for people with an SVN background. If you're an experienced GIT user, my series of "GIT for SVN users" is likely not going to be useful (other GIT articles might be -- you'll have to make that call).

What makes this different from the bazillion other "GIT for SVN" articles on the net? Well, this is a place where I can link when someone asks me "how do I use GIT"? More importantly, I'm going to try to write about GIT from the perspective of a knowledgeable SVN user looking forward to GIT, not a knowledgeable GIT user looking back at SVN. I'm going to try to do this before my view of SVN is completely subsumed into my "SCM in general" thoughts (which has already started to happen). There are usage patterns and other things in GIT that are very much NOT obvious to an SVN user, even after reading a description of the difference.

My own SCM progression has been RCS->RCSFRONT->CVS->SVN->GIT, with a smattering of Perforce, ClearCase and (Gods help me!) Visual Source Safe (ugh -- I've tried to suppress that memory).

Moving from SVN to GIT was the first time I had to do a mental model change. However, once I made the change I found that my SCM world completely opened up. There are things you don't do commonly in SVN because the work of the plumbing outweighs the (typical) benefit. There are things you simply can't do in SVN that GIT handles easily and that turn out to be very useful. Like many paradigm changes, it's not at all obvious why all this is good until you've made the shift, but after making the shift you simply can't go back without feeling like you're hobbled.

If you're doing work with GIT (or SVN), I have written some utilities that you might find useful:

I'll be tagging all of my GIT-for-SVN articles so you can find them easily and keep them separate from my pure-GIT articles.

Ready for Validation

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.