Lecture 6: Version Control (git) (2020)
Missing Semester9 HN recommenders · recommended in 8 months, 2020–2023
lecture · intro · evergreen · 2020–2023 on HN
A lecture from MIT's Missing Semester course covering version control with git. It builds up git from its data model rather than from commands.
HN frequently calls it the best single video on git because it teaches the underlying data structures.
Up next
16 mo on HNHow to Speak
MIT OpenCourseWare
17 HN recommender · 2020–2025
8 mo on HNRichard Feynman Fire
nebulajr
8 HN recommender · 2010–2023
4 mo on HNCharacters, Symbols and the Unicode Miracle - Computerphile
Computerphile
4 HN recommender · 2014–2025
3 mo on HNClojureScript in the Age of TypeScript — David Nolen
ChariotSolutions
3 HN recommender · 2021–2022
3 mo on HNAI Language Models & Transformers - Computerphile
Computerphile
3 HN recommender · 2022–2025
8 mo on HNLet's build GPT: from scratch, in code, spelled out.
Andrej Karpathy
14 HN recommender · 2023–2025
15 mo on HNRailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
15 HN recommender · 2015–2025
11 mo on HN"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
Strange Loop Conference
12 HN recommender · 2014–2024
11 mo on HN🚀 TDD, Where Did It All Go Wrong (Ian Cooper)
DevTernity Conference
11 HN recommender · 2018–2024
11 mo on HNBret Victor - Inventing on Principle
Rui Oliveira
12 HN recommender · 2013–2025
11 mo on HNSolving Problems the Clojure Way - Rafal Dittwald
Clojure/north
10 HN recommender · 2019–2025
11 mo on HNDebugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 2017
GOTO Conferences
8 HN recommender · 2018–2025
9 comments from Hacker News
I think that this video should be considered mandatory viewing if you're a developer using Git — the whole lecture starts from the basic data structures involved and builds from there, as opposed to the way that it seems many people approach Git: "What command do I run?" ▶ this video
The "Missing Semester" is a collection of video lectures from MIT that covers the fundamentals of command line, git, vim, and other tools often overlooked in computer science courses. As a self-taught developer, I found it to be an ideal introduction to git. The series made me also pick up vim, and I have not looked back since. ▶ this video
I've recommended it here previously, and I'll do it again, because it's so fantastic: Missing Semester's lecture on Git ▶ this video
I personally find this to be the best video on git by far: ▶ this video (MIT OpenCourseWare, Missing Semester). 1h25mn well spent
Video-wise there is hardly a better explainer on git than this one: 'Lecture 6: Version Control (git) (2020)' ▶ this video
I found the "Missing Semester" lectures on YouTube to be pretty helpful: Regarding git there is: Lecture 6: Version Control [0] [0] ▶ this video
Exactly. If anyone wants such a reference, there's the "Missing Semester" which is all about practicum. Lecture 6 is on Git: Lecture 6: Version Control (git) (2020) ▶ this video
As a helpful aside, in my experience, there are only about a dozen or so Git commands you need to do ninety percent of your work. You don't need to become a git zen master right away. 1. git init: to start a new repository 2. git status: checks your current state 3. git add -A: To begin tracking files 4. git commit -am: Commit all changes in the working directory with a message added on 5. git switch -c [branch name]: Create a branch and switch to it. (git checkout -b will do the same thing) 6. git switch [branch name]: switch between named branches 7. git merge[branch]: merge named branch into current branch 8. git branch [branch name] -D : delete branch if not tracked 9. git log --pretty=oneline: show a graph of commit history. 11. git push 12. git clone [repo]: Copy of a project/file onto your local computer. The comments also contain some additional advice. Here is a good introductory video: ▶ this video
The time is always there, but not letting getting angry about a change eat it up and providing an excuse ("I'll just procrastinate, that'll show them!") is key. That means taking the biggest hurdle to learning. Mngt/Life/You could have not forced the change, but that's how it goes. In case of git, try this: ▶ this video