I came across this Google TechTalk with Linus Torvalds on git. I’ve never seen or heard Torvalds speak before. He certainly has a good sense of humor…or arrogance :).
It’s been almost a year since this tech talk and I still really haven’t seen large adoption of git. However after some painful experiences with Subversion, maybe it’s time to take a closer look at git. git sounds great in theory and design, but in practice I’m not yet convinced there is much value add.For example, the point that a truly distributed system allows you to make commits when you are unwired since the commits only go to your local repository, in my opinion, isn’t much value add. I am never really away from a wireless point or ethernet cord when I intend to code. The internet is just too much of a valuable resource for me to be disconnected when I’m coding, whether it be googling an obscure exception or reading online documentation.
The design of git is kind of reminiscent of what maven2 did for the build process and dependency management, with the idea of local repositories and selecting with distribution repositories you trust to pull down your dependencies.
I like the idea of the network of trust. I think that’s where the big win for git is. If I know a coworker is working on a piece of code and won’t be done until the end of the week, I know not to “trust” their branch until they tell me it’s ready.
git seems to encourage more communication between developers, which is great if the teams are practicing Agile software development. The idea of “Individuals and interactions over processes and tools” really needs to be instilled into the developers for git to work though. With so many branches around, there needs to be more communication between developers as to what features or branches are ready to be merged into the next release branch.
I guess only time will tell if git will be accepted by the masses.
Theo, you totally read my mind. In fact, I was just about to post to my blog about the same thing.
I was at a Raleigh.rb meeting last night, and at one point somebody was talking about Git and how it was the best thing since sliced bread. This got me to thinking…
What’s so great about Git. I guess I just don’t “Git” it. I was explaining to Rick DeNatale, one of my coworkers, that I’m sure it has some really interesting features but I’m not sure that they’re useful in all situations. For me, I don’t see any real benefit to being able to commit to a local repo if I’ve still got to merge/copy/whatever it into the master repo.
Git’s collaboration features are interesting, but I’m not sure that’s something that I would really take advantage of. I just don’t have a need for it. I suppose if I were working on some hip open source Rails project, they’d probably be useful, but at the moment, I’m not.
The one feature that would be useful across the board is Git’s tiny footprint. At the meetup last night, one of the speakered showed that the entire Git repo of Rails core was smaller than an svn checkout of trunk. Now that’s pretty amazing.
So, until I see any real benefit for myself, I’m fine without it. Besides, I’ve got enough other new tools/languages/frameworks to learn…