Tech Talk: Linus Torvalds on git
Google9 HN recommenders · recommended in 8 months, 2007-2023
4.1M views · 19 years ago · talk · evergreen
Linus Torvalds gives a Google tech talk on git, the source control system he created two years earlier. He argues for distributed version control over centralized systems such as CVS and Subversion.
HN repeatedly recommends it as the iconic explanation of why git is designed as it is and why distributed VCS beats centralized ones.
41:50Two decades of Git: A conversation with creator Linus Torvalds
GitHub
548K views • 1 year ago
21:31The Mind Behind Linux | Linus Torvalds | TED
TED
6.9M views • 10 years ago
1:11:44DebConf 14: QA with Linus Torvalds
Adnan Hodzic
737K views • 12 years ago
1:03:56Aalto Talk with Linus Torvalds [Full-length]
aaltouniversityace
2M views • 14 years ago
11:07Linus Torvalds on why desktop Linux sucks
gentooman
2.2M views • 5 years ago
1:25:13The Origins of Linux—Linus Torvalds
Computer History Museum
659K views • 18 years ago
53:44Building the PERFECT Linux PC with Linus Torvalds
Linus Tech Tips
9.5M views • 11 months ago
1:22:12Introduction to Git with Scott Chacon of GitHub
InfoQ
396K views • 15 years ago
13:47Theo de Raadt (ruBSD 2013)
fuckyoustupidzombie
41K views • 12 years ago
37:34Linux Kernel Development, Greg Kroah-Hartman - Git Merge 2016
GitHub
72K views • 9 years ago
0:27Linus Torvalds - Backdoor In Linux
Sam Abdullaev
155K views • 13 years ago
0:41Linus Torvalds: Nvidia, Fuck You!
SiliconNews
1.9M views • 14 years ago
1:58Linus Torvalds - Nvidia F_ck You!
Jim
950K views • 14 years ago
9:33Linus Torvalds says GPL v3 violates everything that GPLv2 stood for
TFiR
515K views • 12 years ago
0:38Alan Kay on Linux
Jack
20K views • 12 years ago
13:40Free software, free society: Richard Stallman at TEDxGeneva 2014
TEDx Talks
487K views • 12 years ago
1:25:00Lecture 6: Version Control (git) (2020)
Missing Semester
751K views • 6 years ago
46:06Gtk to Qt - a strange journey [linux.conf.au 2014]
Konstantin Bläsi
46K views • 12 years ago
1:39:43[Linux.conf.au 2013] - Git For Ages 4 And Up
HackersOnBoard
208K views • 13 years ago
3:23Hitler uses git
ronopolis
823K views • 15 years ago
20 comments from Hacker News
This talk by Linus is iconic, if you haven't watched it you should. ▶ this video He talks about what SVN got wrong, specifically, that it made branching easy and it's the merging that's the important piece. Git won because it made merging easy.
you are getting confused here. what you have is a "paper receipt" (your checked out version) from your bank. something that, if you need an up-to-date version (from another remote), you need to request a new one (by issuing git fetch). git is, by default, distributed, so whenever you need to see the world outside, you need to be explicit. linus made it this way because back in the day (not sure right now tbf) tons of kernel developers do work without any internet connection, and would only connect to pull/send patches. this talk[0] by linus from 2007 (i remember watching it on google videos lol) explains really well where the git mentality came from. i really recommend it to you, since it feels like you are not really getting how git works. [0] ▶ this video
The post is a collection of rambling thoughts. The author should take a look at Linux Torvalds talk with Google (2009). ▶ this video back and day when development was centralized (no cloning). The concept of "Trusted Circles" is at the core any resilient information exchange and it is by definition: Decentralized.
IIRC, svn was marketed as "CVS done right" [1], which meant devs who were exploring alternatives to CVS didn't have to worry about svn's learning curve. So, I think inertia may have been a huge part of why adoption of svn was so good compared to git that has a steep learning curve, even today. 1: Of course, Linus Torvalds believes you can never do CVS right ▶ this video and there's a transcript: link
This can not be posted too many times. ▶ this video Linus Torvalds talk on Google about how GIT is more a way of working then a piece of software. Everybody commits upwards in a tree of trust. If you do it this way you get automatic code reviews and in any team someone should be responsible for the "product" anyway and highest up in the hierarchy.
In the case of git, Linus did what he did with Linux and named it after himself. EDIT: ▶ this video I didn’t watch through it again to confirm, but if my memory isn’t failing me, it was this talk where he mentioned his naming strategy.
I hope this one is next: ▶ this video Also, I hope that they adopt flac. Right now they seem to use lossy codecs.
What would version control look like after Git ? Git famously was not built for monorepo [1] I would like to see sub-tree checkouts, sub-tree history, storing giant asset files in repo ( without the git-lfs hack ), more consistent commands, some sort of API where compilers and build systems can integrate into revision control etc [1] ▶ this video
John Carmack is an absolutely brilliant speaker. Conversational, captivating and effortlessly natural. I could listen to him talk all day about the most arcane bits of graphics development which i'll never understand but am fascinated by regardless. His QuakeCon talks are particularly good. QuakeCon 2011 - link QuakeCon 2012 - link I like his talks because he's always interested by what he's doing and it tends to make me interested again in code. Linus Torvalds is another surprisingly good speaker. His talk on git - one of the dryest possible topics - was very interesting. There's not many other people I'd sit and listen to talk about SCM. ▶ this video
I honestly don't believe it is an exaggeration. Take a look at this video for Linus's thoughts ▶ this video
> Every time a programmer has an issue with Git, whoever helps them has to sit down and explain the underlying system for 20 minutes and draw a bunch of sticks and bubbles. This isn't true at all for a lot of people. I know a lot of people that just read the docs and are able to solve the issues. Others will Google the problem and find the solution on stack overflow. Everyone learns differently... > Anytime someone shoe-horns it into a product they talk about how Git is so amazing and solves all these problems, but what they are really talking about is just a version control system, not Git specifically. Git is amazing and does solve a lot of problems, but there are problems that aren't solved by Git. Even Linus himself says this here: ( ▶ this video ). Using the github API, rather than git, for creating epub books and pdfs is a great. Using git to control changes as the do is perfect as well. > Non-programmers will never put up with this. Ermm don't assume that everyone gives up right away. With the GUI interfaces we have today, Git is really simple once you learn it.
No offense, but seems your problems coming your unwillingness to learn git properly. If you would take the time and learn it (reading Pro Git book, learning from visual tools, which there are a ton, etc) (Again, no offense, just suggestion.) > Huge number, about 148, of commands with many sub-commands that often do non-obvious, even unrelated things. You don't need to know all 148 of them. If you only know 16 (1/9 of them): add, branch, checkout, commit, config, fetch, log, pull, push, rebase, reflog, remote, reset, show, stash, status, You can do pretty complex things already. For day-to-day usage, these are more than enough. > git rebase enables users to rewrite history which subverts what should be the main, if not only, function of a version control system. Git rebase enables very simple workflows, like the GitHub workflow[1], which IMO is quite simple, small overhead workflow, pretty useful and scalable. Git rebase is also for local repo only. In every tutorial and even git command recommends against pushing rebased branches to an already pushed remote repository. If you keep this in mind, it makes sense. > ... to rebase heavily to create a false history presenting themselves as fantasy 10X programmers who don't make mistakes, ... I think the reason is not that they want to hide their mistakes, but to clean the history. Would you rather see typos in a history? IMO it's just cruft, an amend or rebase pretty much just a clean up you can read it more easily, and you don't h
This article brings back memories. Back in 2007, I had just watched Linus' presentation on Git at Google ( ▶ this video ) where he called all non distributed version control systems as useless. I could not make any sense of the DVCS from his talk. I tried to play with Git and it was extremely frustrating due to the poor CLI. I thought may be Git is just a fad. But then more and more people kept talking about how awesome it is. This was one of the article where Git finally clicked for me. The key quote: There is no need for fancy metadata, rename tracking and so forth. The only thing you need to store is the state of the tree before and after each change. What files were renamed? Which ones were copied? Which ones were deleted? What lines were added? Which ones were removed? Which lines had changes made inside them? Which slabs of text were copied from one file to another? You shouldn't have to care about any of these questions and you certainly shouldn't have to keep special tracking data in order to help you answer them: all the changes to the tree (additions, deletes, renames, edits etc) are implicitly encoded in the delta between the two states of the tree; you just track what is the content. It's been 7 years since I have been using Git and I can't imagine how I ever worked with version control which didn't work on the entire tree.
In Linus Torvalds' talk on git at google[0], he mentions that the reason why he did not choose SVN (one of the reasons why he saw no other way but to build GIT) was that SVNs mission statement read "To create a compelling replacement for CVS"... which Linus hated with a passion and thus could not see why he would even use "a compelling replacement" of. Interestingly enough, in the 'Open Source projects and poisonous people' talk[1] with two SVN developers, they mention how they chose that line specifically to make sure that everybody is on the same page with the scope of the project - improving upon what people knew and were used to instead of wild, new things. Specifically because they would often have people come into the community with some grand plans that would have just exploded the scope. It is of course arguable to what extent there could be a general rule to this, but in this case, GIT is just so fundamentally and obviously the better option than SVN. Had somebody tried to make SVN into GIT, it would have simply killed SVN, so it was the right course of action to make it a new project. SVN was destined to die by its design. To see the GIT adoption rates these days (particularly due to tools like GitHub) is very encouraging to people who like to think that sometimes, starting over fresh is the only option. Of course, the thing you want to build really has to be that much better than the old thing you're trying to replace. So I agree with you - it's alright to say that
I only have one Linus story. Way back in 2007, he was supposed to come and give a talk on git. I had to do an on-site interview with a candidate immediately beforehand, but managed to get it done and got there in time to see the talk start. I had never seen him in person and figured it might be interesting, particularly since I had actually used git on some projects prior to that point. This wound up being recorded, and it's online here: ▶ this video I think I lasted ten minutes and left after deciding it was too much. There was enough of that kind of energy going around already to willingly sit there and take in more. Besides, I had an interview to write up.
A great speech @ Google on a subject directly apropos of pg's start-up spiel: link Another awesome speech from Google's tech talk series (it takes a little bit of tyrant to pull this off, tho): ▶ this video
Coming from seven years of Subversion, I am amazed every time I 'cherry pick' a fix in Git to another branch. Subversion could never do that, it's file based versioning vs Git's content awareness is a paradigm shift. Subversion now seems to be nothing more than a file backup system. Linus Torvalds on Git: ▶ this video
Linus repeats this line WRT distributed systems during his famous talk about git: "I have a theory about backups; I don't do them. I put stuff up on one site and everybody else mirrors it." ▶ this video
Watch this video and you will become enlightened as to why this is the case: [Linus Torvalds on Git] ▶ this video
I'd recommend darcs or git. Check out Linus' talk on git, he basically spends 70 minutes talking about why a distributed VCS is vastly superior to any centralized system. ▶ this video