Tuesday, April 15, 2025

Git at 20

Taylor Blau:

Exactly twenty years ago, on April 7, 2005, Linus Torvalds made the very first commit to a new version control system called Git. Torvalds famously wrote Git in just 10 days after Linux kernel developers lost access to their proprietary tool, BitKeeper, due to licensing disagreements. In fact, in that first commit, he’d written enough of Git to use Git to make the commit!

Git’s unconventional and decentralized design—nowadays ubiquitous and seemingly obvious—was revolutionary at the time, and reshaped how software teams collaborate and develop. (To wit, GitHub!)

To celebrate two decades of Git, we sat down with Linus himself to revisit those early days, explore the key design decisions behind Git’s lasting success, and discuss how it forever changed software development.

At this point, I’ve now used Git for much longer than any previous version control system (Projector, RCS, CVS, VOODOO, Subversion). It’s worked really well. There are certainly valid complaints to be made about the command-line interface, but these days 99% of my interaction with Git is through Tower, anyway.

Scott Chacon (via Christina Warren, Hacker News):

I started using Git for something you might not imagine it was intended for, only a few months after it’s first commit. I then went on to cofound GitHub, write arguably the most widely read book on Git, build the official website of the project, start the annual developer conference, etc - this little project has changed the world of software development, but more personally, it has massively changed the course of my life.

I thought it would be fun today, as the Git project rolls into it’s third decade, to remember the earliest days of Git and explain a bit why I find this project so endlessly fascinating.

Patrick Steinhardt:

To mark the 20th anniversary of this important project that is nowadays used by almost every single developer, I interviewed Linus about the history of Git, why he handed over maintainership of Git, and what he considers to be its most important milestones.

Irreal:

There’s an argument to made that BitKeeper is the better solution and McVoy has made that argument in the past but BitKeeper was proprietary software in an age when developers pretty much insisted on open source tools. McVoy, to his credit, has accepted this and is devoting his time to fishing.

Whether or not Git is the best solution it has emerged as the default solution and that, I think, is a good thing. It’s definitely a good VCS and having a standardized VCS benefits us all. I have no doubt that its distributed nature is the correct answer and 20 years of Git and BitKeeper before it has proven that to be the case.

Previously:

5 Comments RSS · Twitter · Mastodon


Git is in a sweet spot where it is technically very reliable, and the easy tasks are easy. You only encounter the weirder aspects when it's too late, and you're already deeply invested.


As much as standardization looks and feels convenient, I believe splitting teams and users on multiple tools offers not only variety, that is fun and useful, but also the opportunity for evolution.

One large corporation acting as conduit for most SCM processes is a menace. Especially when many other permutations with equivalent results are possible.

Personally I believe Fossil checks all the marks. As other SCM tools do. They were pushed to the margins for no good practical reasons.


And here I had naively hoped, 20 years ago now, that Apple would adopt principles of CMS/VCS into the Finder, and expand it out system-wide and eventually to a network and cloud service. Oh well. FTFF!
(Oh those were the halcyon days, when Apple adopted UNIX fundamental concepts, pulled talent from FreeBSD, and the future looked so very bright! Annnnnnnnd… here we are.)


I'm going to use this opportunity to shill for one of the few software products I actually really like and think is worth using: Fork. It's a fantastic git client that can do lots of advanced stuff, and it nails a well designed UI where the simple things are easy and the advanced things are accessible and discoverable. It's a properly native app for both macOS and Windows.

I was not paid to make this post. I just want to draw attention to good software, because we see so little of it these days.


I think it's a shame Mercurial didn't get more traction earlier. Git is a great VCS today, of course, but it still has the greasy smell of its ancient beginnings as a toolkit for building VCSs with, rather than a naturally scalable and user-first tool that doesn't require you to understand its internals to optimise it. As someone who generally looks at systems from the bottom up, this preference surprises me, but after all, are we not all users? Git was great for Linux, and I'm glad it exists, but I'm sure history would have been different had it not been for the whole BitKeeper saga.

Leave a Comment