Git From the Bits Up

  Рет қаралды 95,987

InfoQ

InfoQ

Күн бұрын

Join GitHub trainer and evangelist Tim Berglund for a look at Git, from the bits up. This talk is not for the Git beginner, but a more advanced look at "weird internals stuff" and obscure commands that will reveal a sort of internal API that is there for you to use and help expose you to certain intrinsic software design insights that can be had from looking at Git at this level.
"If you want to be that person on the team that's like the Git Weirdo...you're gonna need to know this stuff." - Tim Berglund

Пікірлер: 58
@uzimonkey
@uzimonkey 6 жыл бұрын
Oh man, does this ever help me. Seriously, this is the way to learn Git. Following tutorials and entering commands means you have to stick to a very specific workflow because if anything goes wrong with the black box you're just out of luck. You engage panic mode, git is broken and you might as well delete all your work, clone the repo again and start over because you don't have the vocabulary to even explain what's wrong. It might take a bit more time and effort to learn Git from a lower level, but I think this is absolutely necessary for working with Git in any way.
@mangak4
@mangak4 11 жыл бұрын
a good presentation and the best explanation of `git rebase`i've seen so far
@nooxis
@nooxis 11 жыл бұрын
The .git directory was missing the HEAD file (which also must contain a ref; at least "ref: refs/"). I don't think this requirement was just introduced in 1.8.2 though.
@DaveTapley
@DaveTapley 10 жыл бұрын
Heh, "the detached HEAD state, not as bad for git as it is for you" :)
@brainplot
@brainplot 4 жыл бұрын
I think the joke completely flew over the audience's HEAD :)
@sameerkathal1372
@sameerkathal1372 2 жыл бұрын
Excellent talk, learned so much about git internals. Literally the best video on git internals.
@safouanebaroudi6190
@safouanebaroudi6190 6 жыл бұрын
This is THE best video on git, thank you so much Tim great tutor.
@QuantumFractal
@QuantumFractal 10 жыл бұрын
55 minutes worth spending (or 27 at 2x speed) :) Awesome presentation!
@jajajajam
@jajajajam 10 жыл бұрын
I didn't even think watching a video at 2x speed would be a good idea till now. haha
@QuantumFractal
@QuantumFractal 10 жыл бұрын
***** Yep.. I saved hundreds of hours by watching at 2x. Besides, some videos are way to slow for my taste and I typically tend to lose focus. Most of the time I watch them one time at 2x, but occasionally I do have to watch them again at 2x. IMO if you are to spend the same amount of time watching a video presentation you can fixate the information better if you watched it 2 times at 2x than one time at 1x. I like to think of it as: the first pass is the familiarity pass, the second is the detail pass.
@milesrout
@milesrout 10 жыл бұрын
QuantumFractal I do this too. Sometimes I'll slow down to 1x if they go over something particularly quickly or I have trouble hearing a small bit of it.
@muntoonxt
@muntoonxt 8 жыл бұрын
+QuantumFractal I watch at 1.5x (sometimes 2 if it's way too slow). I don't have the patience to rewatch the entire thing, so I just skip back if needed and drop to 1x.
@jex8885
@jex8885 8 жыл бұрын
Fantastic talk, learnt alot, now I can feel more confident in rebasing. Thanks for sharing :D
@Dampfaeus
@Dampfaeus 8 жыл бұрын
This is actually really helpful. Thanks for the video.
@Dampfaeus
@Dampfaeus 8 жыл бұрын
+Dampfaeus Also a nice question: "How many of you rebase..." "... with confidence" *gg*
@Isti115
@Isti115 Жыл бұрын
9:42 For anyone wondering, the `watch` command strips off the non-printing box drawing characters that `tree` uses.
@modolief
@modolief 6 жыл бұрын
Masterful. This was a tour de force.
@tango2olo
@tango2olo 6 жыл бұрын
Minimal required .git content has 2 empty directories {objects, refs} and a file {HEAD}, with HEAD having "ref: refs/heads/master" string as its content. After creating above, git status won't throw an error.
@SaiGudigundla
@SaiGudigundla 10 жыл бұрын
Great talk. Learned a lot about git internals from this talk. I wish your initial attempt of creating .git sub folders to trick 'git status' worked. Did you figure out what additional items you had to add to make 'git status' happy?
@obliviousotaku
@obliviousotaku 7 жыл бұрын
Also, the simplest way to revert a merge would be to use: git reset --merge ORIG_HEAD
@PiperChester1
@PiperChester1 10 жыл бұрын
Jump to 9:15 if you just want to see the update script.
@meghandenny6922
@meghandenny6922 8 жыл бұрын
Awesome talk. but what exactly are the deltas?
@itsrawrz
@itsrawrz 11 жыл бұрын
I think it's monospace Monaco. ( which is the default monospace font for mac )
@NikiDeStoner
@NikiDeStoner 11 жыл бұрын
Any video which focuses on the beginner aspect of git?
@pabloacuna2176
@pabloacuna2176 10 жыл бұрын
great talk!
@NikiDeStoner
@NikiDeStoner 11 жыл бұрын
Thanks a lot! Keep up the good work :)
@batsoog
@batsoog 10 жыл бұрын
great lecture ... btw .... what git terminal is Tim using to use the tree command, as git bash v1.9.4.msysgit0 doesn't seem to be accepting this command???
@victornoagbodji
@victornoagbodji 4 жыл бұрын
🙏 🙏 🙏 thanks!!
@kylefong2888
@kylefong2888 5 жыл бұрын
Can someone breakdown/explain what Tim is explaining 32:07?
@lesenel
@lesenel 11 жыл бұрын
Weird question, but does anyone have any idea what font he is using in the console?
@diego898
@diego898 11 жыл бұрын
anyone know why what he first tried with hash-object didnt work?
@OchoZero9
@OchoZero9 9 жыл бұрын
Very entertaing talk.
@brunoccs
@brunoccs 10 жыл бұрын
Pardon my ignorance, but was it python he was using to write the while loop?
@bushee01
@bushee01 10 жыл бұрын
Nope, it's just bash.
@safouanebaroudi6190
@safouanebaroudi6190 6 жыл бұрын
No it's not, it's zsh.
@NikiDeStoner
@NikiDeStoner 11 жыл бұрын
Thanks.
@RudyMurilloJr
@RudyMurilloJr 10 жыл бұрын
Am I the only one that thinks he sounds like Louis CK?
@sergeyrar
@sergeyrar 6 жыл бұрын
Fixup discads the log message of the commit squashed, so I think a better option is to just use fixup instead of squash 50:40
@frankcui
@frankcui 9 жыл бұрын
you can do better at vim at 51min.
@GerbekSergey
@GerbekSergey 8 жыл бұрын
That is the issue with Git - questionable system design. I mean - If one needs to teach details of "under the hood" mechanics of a tool for people to get it, then it is not an intuitively useful tool. But yes - Git is the most beautiful of ALL UGLY version control thingies we have.
@canmetan670
@canmetan670 8 жыл бұрын
I really don't think you need to know the details of the underlying system. And if you find all these version control systems to be ugly, you must have a concept that you think is "beautiful". If you have a better way of doing version control, why don't you create one?
@brainplot
@brainplot 4 жыл бұрын
I disagree with this statement. Git's design is very elegant! And as the speaker pointed out, there's even some software engineering insights to be gained from it! At least a handful of other VCS tried to tackle the same problem before Git and they all perished upon its arrival and adoption. When was the last time a piece of software with already well-established competitors was able to take over the industry like this? Many good tech products don't make it because getting people to change is really, really hard!
@realB12
@realB12 3 жыл бұрын
You only have to know the "marble" commands. The "plumbing" you will only know when your git goes kaputt. Instead of trying to learn plumbing you may call the plumper. Call me - for instance :-)
@chazadanga
@chazadanga 8 жыл бұрын
Great talk. Shame about the way he swallows water so noisily.
@memeguyTM
@memeguyTM 2 жыл бұрын
😆 @21:18 here you go buddy
@canmetan670
@canmetan670 8 жыл бұрын
This was not helpful for me.
@mikeyo1234
@mikeyo1234 11 жыл бұрын
If git requires people to 'look inside the box' sometimes to get it to work, it means it sucks. It is typical that an uber geek create git. Great coders are crap designers (but they THINK they are good designers...). Have you ever seen a website created by a coder!? Eek!
@nobytes2
@nobytes2 5 жыл бұрын
I dunno if you are aware but git holds nearly 80% of market share. Been using git for years and I never had to look in .git folder.
@realB12
@realB12 3 жыл бұрын
It's like looking under the hood of my labo - I do not have a clue how it works - but I would never tell anyone it sucks :-) For me it is good enough to drive and to be fast. I only have to know the plumbing when it breaks in the middle of a race and no plumber around to yell at to get it fixed :-)
@Jenalgo
@Jenalgo 6 жыл бұрын
Poorly thought out presentation. Not useful for developers who want to learn git. If he really is a trainer, he's a bad one.
Creator of git, Linus Torvalds Presents the Fundamentals of git
1:10:15
Developers Alliance
Рет қаралды 80 М.
Magic trick 🪄😁
00:13
Andrey Grechka
Рет қаралды 45 МЛН
Why Is He Unhappy…?
00:26
Alan Chikin Chow
Рет қаралды 110 МЛН
КТО ЛЮБИТ ГРИБЫ?? #shorts
00:24
Паша Осадчий
Рет қаралды 1,1 МЛН
Zombie Boy Saved My Life 💚
00:29
Alan Chikin Chow
Рет қаралды 9 МЛН
Advanced Git: Graphs, Hashes, and Compression, Oh My!
1:09:00
[Linux.conf.au 2013] - Git For Ages 4 And Up
1:39:43
HackersOnBoard
Рет қаралды 190 М.
So You Think You Know Git - FOSDEM 2024
47:00
GitButler
Рет қаралды 1,1 МЛН
Introduction to Git with Scott Chacon of GitHub
1:22:12
InfoQ
Рет қаралды 388 М.
98% Cloud Cost Saved By Writing Our Own Database
21:45
ThePrimeTime
Рет қаралды 353 М.
Advanced GIT for Developers - Lorna Jane Mitchell - Laracon EU 2015
1:00:47
How to be a git expert
46:26
Floating Little Leaves of Code
Рет қаралды 155 М.
Jessica Kerr "Git Happens"
55:35
JDD Conference
Рет қаралды 46 М.
Git MERGE vs REBASE: The Definitive Guide
9:39
The Modern Coder
Рет қаралды 105 М.
САМЫЙ КРЕПКИЙ ТЕЛЕФОН #КрепкийOPPOрешек #shorts
0:27
Паша Осадчий
Рет қаралды 2,2 МЛН
Как противодействовать FPV дронам
44:34
Стратег Диванного Легиона
Рет қаралды 227 М.
Лучшая защита экрана
0:40
Newtonlabs
Рет қаралды 637 М.
Почему iPhone 16 никого не удивит?
0:42
ÉЖИ АКСЁНОВ
Рет қаралды 106 М.
Как правильно светить смартфоном?
0:18
Люди.Идеи, общественная организация
Рет қаралды 55 М.