14 ms·
Did you know Git was originally created in 10 days?
- kramerger 3y agoUnix (the original) was created over 3 weeks. Source: Kernighans memoir. Remember that next time you call yourself a 10x dev
- rlnorthcutt 3y agoI went down a bit of a rabbit hole the other day, and put together some quotes from Linus and some info on how and why Git was created.
- dekervin 3y agoPlease do share !
- das_keyboard 3y agoHe did share. He submitted this article :)
- dekervin 3y agoSorry ! I did a quick visual check and I thought I was replying to someone different from the one who posted the article, and she had additional anecdotes. Don't know why I missed they were the same.
- avg_dev 3y agoi enjoyed your article; thanks. one small note: I think when you say > (queue heart attack)! you actually mean to say > (cue heart attack)!
- rlnorthcutt 3y agoLol - thanks... this was just something I wrote quickly. Or, I meant that this was yet _another_ heart attack waiting in line? Kidding...
- tough 3y agoqueue heart attack attack would be something for future scifi movies fr
- cortesoft 3y agoMy favorite Linus quote about Git came from his talk at Google: “The end result was I decided I could write something better than anything that was out there in two weeks, and I was right” https://youtu.be/4XpnKHJAok8?si=K-O_jKh5auQ0ZTej https://youtu.be/4XpnKHJAok8?si=K-O_jKh5auQ0ZTej
- brainerazer 3y agoYeah, it shows
- dvngnt_ 3y agowhat could you do in 11 days?
- devoutsalsa 3y agoMassive amounts of yak shaving. Two weeks ago I decided to build a new web app. Before I build it, I need a solid deploy strategy to save money since Heroku nuked their free tier. Currently writing a new programming language so I can reinvent Terraform with an AGPL license. I should deploy hello world by 2049.
- lijok 3y agoDude same. We should start a consultancy.
- devoutsalsa 3y agoyakshaver.dev is available. We should be able to implement a DNS server and brainfuck to web assembly transpiler to launch a landing page by 2035. Let's do it.
- mrkeen 3y agoI could almost get my front-end and back-end to talk together despite CORS.
- nitwit005 3y agoHacker News is completely filled with people who have gotten crappy early versions of things out in that time frame. You don't see people claiming their first versions were great.
- eastern 3y agoTBH I always thought it was like one all-nighter
- philbarr 3y ago"Subversion was slow and clunky" Lucky you, you never used clearcase or Visual SourceSafe!
- thrixton 3y agoYep, subversion was a dream compared to VSS, branches that actually worked, what a concept.
- hiyer 3y agoAnd perforce. +1 for clearcase though - even perforce was a breath of fresh air compared to it.
- isanjay 3y agoI used Visual SourceSafe before git. What a nightmare
- sumtechguy 3y agoSourceSafe was nice with its built in tools integration when everyone else at the time was non existent. It was really meant for a 2-5 person team. Anything bigger and the thing would die on its own database updates. But if you are still using that thing today you should move away from it. It is terrible for usage today. I got to the point I was doing backups every 6 hours and keeping rotating backups on hand for when it decided to corrupt itself. Then I as subjected to clearcase and sourcesafe was amazing compared to the complexity that thing brought. I knew it was bad when they had to send out a consultant just to show us how to get it installed correctly and make branches.
- JoeAltmaier 3y agoClearCase?! An enormous pile of unnecessary complexity. Where I worked they hired a fulltime person just to manage it! I remember fondly, there was no way to back out a commit. The hired consultant told me "Just check out the previous version and check it back in over the bad change!" So now our test group would have two(!) changes to test, instead of zero. Brilliant. I also remember ClearCase had five (5!) views of the same database. Commands worked on one of the five view, and god help you if you got confused.
- chandler767 3y ago[dead]
- bragr 3y agoUnder the hood, git is pretty simple and built out of a few primitives. That's why projects like this [1] are so fun! https://wyag.thb.lt/ https://wyag.thb.lt/
- princevegeta89 3y agoLinux Torvalds is a living genius no doubt about it
- sudhirj 3y agoThat's a little misleading. Git was created in 10 days in the same way that Apple was created in a garage in a month. Or the way that Facebook was created in a dorm in one night. Git v0.0.1 might have been created in 10 days, and the foundational ideas were certainly excellent. And it's amazing that two of the biggest contributions to the world of software came from the same person.
- avg_dev 3y agowell, this quote from Linus Torvalds is in the article: > "So I’d like to stress that while it really came together in just about ten days or so (at which point I did my first kernel commit using git), it wasn’t like it was some kind of mad dash of coding. The actual amount of that early code is actually fairly small, it all depended on getting the basic ideas right. And that I had been mulling over for a while before the whole project started. I’d seen the problems others had. I’d seen what I wanted to avoid doing."
- rob74 3y agoWell, the fact that he and the other Linux maintainers had previously used (and were intimately familiar with) BitKeeper, and thus had a good idea of what their new FLOSS DVCS should look like, probably also helped. Not saying that he copied BitKeeper 1:1, but if you look at BitKeeper usage examples (http://www.bitkeeper.org/ http://www.bitkeeper.org/), they do look familiar, don't they? BTW, BitKeeper is now open source - and development seems to have largely ceased...
- rlnorthcutt 3y agoHonestly, I think that is the key. He didn't just create Git out of thin air... he spent alot of time thinking about what he wanted and using something that gave him a conceptual foundation. 10 days of writing code is impressive, but there would many,many days of thinking that preceded it.
- avg_dev 3y agoWell, this is too is pretty clearly highlighted in the article... I mean it doesn't really matter too much, but > He aimed to create a tool that was: > Distributed: [...] > Compatible: The new tool would incorporate as many features and workflows as BitKeeper. > Secure: [...] and there is another quote from Linus Torvalds contained in the article: > 'Well, it was obviously designed for our workflow, so that is part of it. I’ve already mentioned the whole “distributed” part many times, but it bears repeating. But it was also designed to be efficient enough for a biggish project like Linux, and it was designed to do things that people considered “hard” before git – because those are the things I do every day.'
- arey_abhishek 3y agoDoes anyone have the code from the first commit?
- avg_dev 3y agoheh, i browsed the tag history on github to see if i could track it down, but github gave me a 500 error on this link: https://github.com/git/git/releases/tag/v0.99 https://github.com/git/git/releases/tag/v0.99
- sampo 3y agoThis answer explains how to edit the url to get to the oldest commit in Github https://stackoverflow.com/questions/28533602/how-to-navigate-to-the-earliest-commit-in-a-repository https://stackoverflow.com/questions/28533602/how-to-navigate...
- dkdbejwi383 3y agoWhen did git become self-hosting?
- sciurus 3y agohttps://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290 https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23...
- rlnorthcutt 3y ago
- loloquwowndueo 3y ago“The Linux kernel, an enormous open-source project, used a proprietary VCS called BitKeeper. However, due to a conflict between the community and the company behind BitKeeper, the free-of-charge status was revoked.” The details about that conflict are worthy of an article in and of themselves :) https://lwn.net/Articles/130746/ https://lwn.net/Articles/130746/
- Salgat 3y agoImagine having the most famous open source project using your product for the world to see and losing all that free publicity in a desperate attempt for control.
- toyg 3y agoIn a way, he got enough publicity - we still know about it, so many years later. But he lost the opportunity to remain central to the booming FOSS ecosystem, and all that it entails.
- rlnorthcutt 3y agoNo kidding
- dagw 3y agoYea BitKeeper was a one hell of a story. They also had a clause that holders of commercial BitKeepers licenses could not develop competing products and even forced a company to ban one of their employees from contributing to Mercurial(?) or the whole company would have their BitKeeper license revoked. The sad part is that BitKeeper really was an amazing product and way ahead of its time, pioneering many of the features git later made popular. Had they just been a bit smarter about the whole thing they could be where git (and GitHub) is today Ironically the last thing they did before going bankrupt was release BitKeeper as Open Source.
- toyg 3y agoMcVoy screwed the pooch, being penny-wise and pound-foolish. There is an alternative universe where BitMover is what GitHub has become.
- azangru 3y agoSame as javascript?
- ilyt 3y agoNo, the main goal wasn't "look close enough to Java to fool the suits" but to make something useful.
- bluedino 3y agoI'm surprised that Linus was able to spend the better part of 10 days working on it.
- didip 3y agoI am glad that Git took off instead of Bazaar or SVN. But I would have been ok if Mercurial won as well.
- muditsrivastava 3y agoAlong those lines, it's interesting how he chose such a simple and nonsensical name, "Git," that has become so important today. :)
- lambic 3y agoI wrote a curses based cheque processing system in C over a weekend after our old cheque processing server literally went up in smoke. I'm guessing it is long dead and did not become a leader in its field though.
- ilyt 3y agoWhen you anger a wrong nerd and they will rip apart your entire business's niche in 2 weeks long caffeine and anger fueled hackathon #justbitkeeperthings
- glonq 3y agoYes, I remember Linus hastily writing git to quell a civil war that was brewing over BitKeeper.
- snvsn 3y agoYou can look at the code in the first commit Linus made. It is a very minimal yet functional version of Git. https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290 https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23... Edit: To get to this commit run $ git log --oneline --reverse master | head -n1 e83c516331 Initial revision of "git", the information manager from hell
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- pimlottc 3y agoAnd on the 11th day, he rested.
- mprovost 3y agoLinus's biggest contribution to software engineering is git but it took writing a kernel first to give him the idea. I'd argue that git has had a bigger impact on the world than Linux. The Linux kernel is an amazing piece of software but especially in the beginning wasn't especially innovative. The Solaris kernel was a much better implementation of the Unix lineage. The Mach kernel was interesting from a research perspective, and lives on in MacOS and iOS. HURD was a worthy experiment, as was Plan 9. But git was really head and shoulders above anything that came before.
- happytoexplain 3y agoThese pieces of ostensibly impressive trivia of the format "X was written in Y days" promote a fallacious impression that managers often suffer from: That "work" is writing code, and great developers "work" fast. Writing v1 is the easiest and fastest part of making a great product, by far. Understanding the details of the problems it solves and the ramifications of specific solutions - that's the hard work that takes years of experience and months of planning, and is the real measure of a developer. Unfortunately the former can be tracked with metrics, while the latter can not.
- neilk 3y agoTorvalds didn't create anything like the `git` we know today in 10 days. It was heavily inspired by `monotone`, which popularized the concept of a Merkle tree. Torvalds' comments about what he liked and didn't like about `monotone` are preserved in the Wikipedia page. In particular he criticized their use of C++ and SQLlite. https://en.wikipedia.org/wiki/Monotone_(software) https://en.wikipedia.org/wiki/Monotone_(software) Torvalds' git, on day 10, was some basic routines which saved and restored the contents of a directory. But it did satisfy his desire for it to be fast and minimal. Someone named Jason Stopak helpfully found the original version of git and commented it heavily, here: https://bitbucket.org/blog/what-can-we-learn-from-the-code-in-gits-initial-commit https://bitbucket.org/blog/what-can-we-learn-from-the-code-i... A bash script shows what the workflow would be like. You would be adding files one by one, saving trees, obtaining a SHA from that tree, then retrieving the SHA. There is a very basic notion of history. https://bitbucket.org/jacobstopak/baby-git/src/master/examples/babygit https://bitbucket.org/jacobstopak/baby-git/src/master/exampl... As is typical with Torvalds, he left it to others to write tooling around the basic concepts soon after this. Torvalds deserves credit for the core ideas and a barely usable prototype. But most importantly, he enforced its use on a major open source project, very early in its life, which ensured that it would be improved upon.
- BigDaveDiode 3y agoI was using BitKeeper at the time and was just glad that there was (going to be) an alternative to all that drama! BitKeeper was a nice product but man did they misunderstand their customers.