No video

Git From the Bits Up

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

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
@mangak4
@mangak4 11 жыл бұрын
a good presentation and the best explanation of `git rebase`i've seen so far
@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.
@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.
@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 :)
@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.
@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*
@modolief
@modolief 6 жыл бұрын
Masterful. This was a tour de force.
@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.
@Isti115
@Isti115 Жыл бұрын
9:42 For anyone wondering, the `watch` command strips off the non-printing box drawing characters that `tree` uses.
@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?
@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.
@meghandenny6922
@meghandenny6922 8 жыл бұрын
Awesome talk. but what exactly are the deltas?
@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???
@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.
@pabloacuna2176
@pabloacuna2176 10 жыл бұрын
great talk!
@NikiDeStoner
@NikiDeStoner 11 жыл бұрын
Any video which focuses on the beginner aspect of git?
@NikiDeStoner
@NikiDeStoner 11 жыл бұрын
Thanks a lot! Keep up the good work :)
@victornoagbodji
@victornoagbodji 4 жыл бұрын
🙏 🙏 🙏 thanks!!
@kylefong2888
@kylefong2888 5 жыл бұрын
Can someone breakdown/explain what Tim is explaining 32:07?
@itsrawrz
@itsrawrz 11 жыл бұрын
I think it's monospace Monaco. ( which is the default monospace font for mac )
@OchoZero9
@OchoZero9 9 жыл бұрын
Very entertaing talk.
@NikiDeStoner
@NikiDeStoner 11 жыл бұрын
Thanks.
@lesenel
@lesenel 11 жыл бұрын
Weird question, but does anyone have any idea what font he is using in the console?
@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.
@diego898
@diego898 11 жыл бұрын
anyone know why what he first tried with hash-object didnt work?
@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.
[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 МЛН
Magic? 😨
00:14
Andrey Grechka
Рет қаралды 12 МЛН
Bony Just Wants To Take A Shower #animation
00:10
GREEN MAX
Рет қаралды 7 МЛН
Ik Heb Aardbeien Gemaakt Van Kip🍓🐔😋
00:41
Cool Tool SHORTS Netherlands
Рет қаралды 9 МЛН
Creator of git, Linus Torvalds Presents the Fundamentals of git
1:10:15
Developers Alliance
Рет қаралды 81 М.
Advanced Git: Graphs, Hashes, and Compression, Oh My!
1:09:00
Git Internals -  How Git Works - Fear Not The SHA!
31:23
GitLab
Рет қаралды 117 М.
Advanced GIT for Developers - Lorna Jane Mitchell - Laracon EU 2015
1:00:47
Jessica Kerr "Git Happens"
55:35
JDD Conference
Рет қаралды 46 М.
How to Do 90% of What Plugins Do (With Just Vim)
1:14:03
thoughtbot
Рет қаралды 889 М.
Learn GitLab in 3 Hours | GitLab Complete Tutorial For Beginners
3:26:43
Introduction to Git with Scott Chacon of GitHub
1:22:12
InfoQ
Рет қаралды 388 М.
Magic? 😨
00:14
Andrey Grechka
Рет қаралды 12 МЛН