For some time I’ve used Subversion to maintain a remote copy of all my irreplaceable but frequently edited files. For a while this was workable despite my limited comprehension of SVN commands. Recently, however, things have become more untenable. I was using an OS X
Version control and the new understanding
leaving behind svn and embracing the git
For some time I’ve used Subversion to maintain a remote copy of all my irreplaceable but frequently edited files. For a while this was workable despite my limited comprehension of SVN commands. Recently, however, things have become more untenable. I was using an OS X
I partially understand, now, that my problem may have had something to do with OS X’s habit of creating files that are, to a Unix’s understanding directories but to OS X are just bundled files. You can argue the design choices that Apple made regarding bundle files all you like. I happen to think it’s a fine idea. The benefits outweigh the negatives. However, unix utilities like Subversion have no understanding of these bundled files and so Subversion puts its .svn/ directories wherever it sees a file to track and that includes inside these bundled files. That just won’t work, and doesn’t.
for me, it feels simple yet, powerful
Enter the Git
I’ve been hearing about Git for, I suppose, a year now. There are similar solutions like Mercurial and Bazaar but that Git has at its root Linus Torvalds makes it, to my eyes, a better supported option. There are far brighter folk that can explain the true benefits of Git vs. SomeOtherSystem. I’ll just say that, for me, it feels simple yet, powerful.
I have a base understanding of the workings of Git thanks largely to Geoffrey Grosenbach’s Git screencast at Peepcode. For now, I’ve moved all of those precious text files over to using Git and it is my hope that in time all of my web-facing endeavours will be under the sway of Git’s distributed version control system.
Just one man
While, yes, I am just one person and whatever I write be it fiction, a blog post, or code is only ever touched by me the piece of mind offered by local/remote version control is worth the effort to get a system like Git working. The option to take an entire design off in a slightly different direction by simply branching my code and then having the option to either blow all of that away or merge it into the master code base is elegant at the least. Doing this with Git is, again for me, the best way at the moment.
