git is just a key value store? (advanced) anthony explains

Поделиться
HTML-код
  • Опубликовано: 8 фев 2025
  • today we dive into the low level representation of how git works! turns out it's mostly just a fancy blob store!
    playlist: • anthony explains
    ==========
    twitch: / anthonywritescode
    dicsord: / discord
    twitter: / codewithanthony
    github: github.com/aso...
    stream github: github.com/ant...
    I won't ask for subscriptions / likes / comments in videos but it really helps the channel. If you have any suggestions or things you'd like to see please comment below!

Комментарии • 13

  • @Quarky_
    @Quarky_ 2 года назад +7

    4:20 I think the metadata is the file permisions, time stamp, etc.
    10:20 I think octomerge is short for octopus merge denoting "lots of branches" 😛
    Really cool video :)

  • @ehza
    @ehza Год назад

    Thanks. This is fun! I would like to know more about the underlying algorithm on how git compares two commits! Please make a part two on this if possible.

  • @alice-smith
    @alice-smith 2 года назад +4

    8:02 that emoji 💀

  • @shaheerzaman620
    @shaheerzaman620 2 года назад +1

    a real world crash course on git would be great!

  • @tim-timman8868
    @tim-timman8868 2 года назад +2

    Could you explain the pty module? The documentation doesn't say that much. I'm wondering if you could use it as input to a subprocess to fake that you're running out in a terminal.

    • @anthonywritescode
      @anthonywritescode  2 года назад +1

      yeah that's what it does -- it's pretty fiddly and I haven't been super successful using it -- my current copy paste is what I figured out for pre-commit: github.com/pre-commit/pre-commit/blob/6a661f84531fb89673bc4a4494b521ef07fcf851/pre_commit/util.py#L194-L198

    • @tim-timman8868
      @tim-timman8868 2 года назад

      @@anthonywritescode thanks. What I was hoping to use it for was being able to send a signal to a command executed through a subprocess call to SSH (as if you were running it in a terminal). I can't seem to forward it as of now and just send up killing ssh, and not actually the command running om the remote. I know there are libraries (ex. paramiko) but I would like to solve it without 3rd-party deps.

  • @wizpig64
    @wizpig64 2 года назад

    6:54 paintDotNet has pretty good arrows if you use the line tool. edit: ooh, paintdotnet's oss competitor pinta's version 2 came out in the last year, its line tool lets you draw more than one arrow before taking away the control knobs.

  • @brandonbennett7851
    @brandonbennett7851 2 года назад +1

    Now I'm curious if Fossil does the same?

  • @88Nieznany88
    @88Nieznany88 2 года назад

    This is pretty cool. I never wondered how git looks like from the inside, basically was just mindlessly using it.

  • @hendrykhoza4782
    @hendrykhoza4782 2 года назад +1

    Are you using paint in Ubuntu?

  • @taehyun-lee
    @taehyun-lee 2 года назад

    Thanks for your wonderful explanation.