Git Internals - Git Objects

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ก.ย. 2020
  • This is the first actual video of this git internals series, where we will cover the main git objects - blob, tree, and commit.
    I have also posted two blog posts about git internals that cover the same topics:
    Part 1 - / a-visualized-intro-to-...
    Part 2 - swimm.io/blog/a-hands-on-intr...
    Feel free to leave comments on the videos, Like on Facebook, or follow on Twitter :)
    Facebook: / briefchannel
    Twitter: / omer_ros
    ======================
    📕 My book "Gitting Things Done" is officially out!
    Get it on Amazon: www.amazon.com/dp/B0CQXTJ5V5
    As an eBook: www.buymeacoffee.com/omerr/e/...
    Or read it for free at:
    www.freecodecamp.org/news/git...
    ======================
    Support this channel:
    My mission is to create free, accessible, visual and practical tutorials. If you would like to support me on this, you can buy me a coffee :)
    www.buymeacoffee.com/omerr
    Thank you!!
    ======================
    ======================
    How do I make videos?
    I often get questions about the tools I use to create Videos - so here they are :)
    (When available, I may use affiliate links and may earn a commission, with NO additional cost to you)
    To create the hand-drawn animations, I use VideoScribe: www.awin1.com/cread.php?awinm...
    Creating video thumbnails: snappa.com/?afmc=3uh
    Microphone: Yeti Blue: amzn.to/3QydgtP
    Drawing: Wacom Intuos: amzn.to/3pyRXwh
    ======================
    Video created by Omer Rosenbaum. All rights reserved.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 147

  • @muhammadnajibbala4059
    @muhammadnajibbala4059 ปีที่แล้ว +6

    Best explanation I have ever seen on this topic

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Thank you so much!

  • @tejaa2532
    @tejaa2532 3 ปีที่แล้ว +6

    Outstanding explanation of the internals. A lot of info condensed into just 5 minutes. Awesome bro. 👌 hats off 👏

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว +1

      Thank you so much for this kind feedback! 🙏🏻

  • @realB12
    @realB12 3 ปีที่แล้ว +12

    Incredible great stuff: I often have struggled to explain Git to my peers. Have tried so many different ways. Your way is the best. Thanks a lot for this!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you very much for your kind feedback!

  • @BeALeaderAndAnInspir
    @BeALeaderAndAnInspir 3 ปีที่แล้ว +27

    Amazing content mate. Please upload more tutorials like this. You have a talent for explaining things...

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว +2

      Thank you very much Tien!
      I have posted the next video in the series here - th-cam.com/video/52MFjdGH20o/w-d-xo.html
      I hope you will find it useful

    • @BarraIhsan
      @BarraIhsan 2 ปีที่แล้ว

      Yes, I agree!

  • @arastooajorian9069
    @arastooajorian9069 10 หลายเดือนก่อน +3

    it was really well described and animated. that was perfect. thank you for your job.

    • @BriefVid
      @BriefVid  10 หลายเดือนก่อน

      Thank you so much for your kind words!

  • @always_learning_new_stuff
    @always_learning_new_stuff ปีที่แล้ว +1

    Wow, wow, WOW! I've never seen such a difficult concept explained so well. Thank you.

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Thank you so much, your comment made my day 🙏🏻

  • @anonymousXYZ659
    @anonymousXYZ659 ปีที่แล้ว +2

    This is such a good explainer, I wish this was more popular!

    • @BriefVid
      @BriefVid  ปีที่แล้ว +1

      Thank you for your kind reply 🙏🏻
      Please help me share the word and make it more popular :)

  • @a_maxed_out_handle_of_30_chars
    @a_maxed_out_handle_of_30_chars 2 หลายเดือนก่อน +2

    simple and to the point, thank you :)

    • @BriefVid
      @BriefVid  2 หลายเดือนก่อน

      Thank you for the nice comment! I am glad you liked it!

  • @Hossein13M
    @Hossein13M ปีที่แล้ว +2

    I can not belive how simple and awesome you explained these concepts! Thanks a lot

    • @BriefVid
      @BriefVid  ปีที่แล้ว +1

      Thank you for your kind reply 🙏🏻
      Please help me share these videos with more people :)

  • @shashanksathish9362
    @shashanksathish9362 2 ปีที่แล้ว +1

    That is amazing! concise and crisp, would love to see more of these.

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Thanks a lot for your kind reply @Shashank! Please help me spread the word by sharing these videos with more people 🙏🏻 I will indeed post more in this series very soon!

  • @rasikaraja1840
    @rasikaraja1840 3 หลายเดือนก่อน +1

    Bro just destroyed my 3 years ignorance. Great explanation.

    • @BriefVid
      @BriefVid  2 หลายเดือนก่อน

      Thank you :) I am glad it could help!

  • @kuncorokuncoro1130
    @kuncorokuncoro1130 3 ปีที่แล้ว +1

    This is cool explanation! Can't wait to see next video.

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thanks! It will be published soon

  • @kamilgoabek3146
    @kamilgoabek3146 2 ปีที่แล้ว +1

    Just WOW.. best ever git explanation ❤️👍

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Thank you so much Kamil! I appreciate it! 😀

  • @lucasassuncaodeabreu3718
    @lucasassuncaodeabreu3718 3 ปีที่แล้ว +2

    This is Amazing!!
    I was lost searching for "internal git tutorials" on web, and your videos are covering everything i was looking for!
    Keep going!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว +1

      Thanks so much for your kind reply Lucas! I will do my best to post more :)

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      @Luncas, I have posted the next video in the series here - th-cam.com/video/52MFjdGH20o/w-d-xo.html
      I hope you will find it useful

  • @brettgattinger3338
    @brettgattinger3338 2 ปีที่แล้ว +1

    Awesome Tutorial! Really succinctly summarizes the inner workings of Git. This is really useful since I have to automate a bunch of git stuff with GitPython and while their tutorials is great they don't really explain any of this stuff. So thank you!

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว +1

      Thanks Brett! Your comment made me happy :)

  • @hsaidinsan6345
    @hsaidinsan6345 3 ปีที่แล้ว +1

    And i am watching the video i wad looking for, for the entire day at 00:00 just before i decided to give up and go sleep
    What to say! thanks man you saved me 👍

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you Hamza!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว +1

      I have posted the next video in the series here - th-cam.com/video/52MFjdGH20o/w-d-xo.html
      I hope you will find it useful

  • @evgeniizaitsev7886
    @evgeniizaitsev7886 3 ปีที่แล้ว +2

    I agree that it is an amazing video and the way you explain the material is really cool. Please, go on.

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you so much for this kind feedback! 🙏🏻

  • @viniciusgoncalves8208
    @viniciusgoncalves8208 ปีที่แล้ว +1

    Awesome content Brief! Thank you a lot man, please continue.

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Thanks, will do! If there are specific topics you'd like me to cover, please let me know!

  • @jubjubfriend64
    @jubjubfriend64 3 ปีที่แล้ว +3

    You legend, so clear and really well animated!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you very much so the kind words 🙏🏻

  • @eduardoestevakremer5248
    @eduardoestevakremer5248 ปีที่แล้ว +1

    Thnaks !! Great content and pretty well presented: neat, concise, and to-the-point...

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Glad you enjoyed it And thank you! These comments really make my day and motivate me to create more content :)

  • @user-is2yx2xd9f
    @user-is2yx2xd9f ปีที่แล้ว +1

    omg I immediately understand the git objects thank you!

    • @BriefVid
      @BriefVid  ปีที่แล้ว +1

      Thank you for your kind reply!

  • @teamjupeter9451
    @teamjupeter9451 2 ปีที่แล้ว +1

    Wonderful, Thank you, Omer.

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Thank you Team!

  • @ankurtoshniwal11
    @ankurtoshniwal11 3 ปีที่แล้ว

    Quick, well animated and conceptually explained

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you very much!

  • @thanhtruc4117
    @thanhtruc4117 4 หลายเดือนก่อน +1

    Best explanation. Thank you so much

    • @BriefVid
      @BriefVid  4 หลายเดือนก่อน

      You are welcome! Thank you for your kind comment 🙏🏻

  • @naren2talk
    @naren2talk ปีที่แล้ว +1

    this is easily the best possible explnation out there,,,

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Thank you so much!

  • @renatoaraujo6108
    @renatoaraujo6108 ปีที่แล้ว +1

    Thanks you! I have been searching hard to understand this, and now I got! :)

    • @BriefVid
      @BriefVid  ปีที่แล้ว +1

      Glad it helped @Renato! Please help me spread the word 🙏🏻

  • @AleksandrZhuravlev-tu3to
    @AleksandrZhuravlev-tu3to 11 หลายเดือนก่อน +1

    Awesome work dude! Thanks a lot!

    • @BriefVid
      @BriefVid  11 หลายเดือนก่อน

      Glad you liked it, and thank you for commenting!

  • @TheSmilesClub
    @TheSmilesClub 3 ปีที่แล้ว +2

    Awesome intro!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thanks @Ilan Godik! I will post the next videos soon

  • @person64389
    @person64389 2 ปีที่แล้ว +1

    Love the Les Miserables reference.

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Nice catch River! I was wondering when someone would notice it 😉

  • @emirhajric6314
    @emirhajric6314 3 ปีที่แล้ว +1

    Such an underrated channel, awesome content 🙌

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you very much! Please spread the word so more people get to enjoy it :)

  • @SuperNovaRider
    @SuperNovaRider 8 หลายเดือนก่อน +1

    Amazing video, totally under-viewed! 😀

    • @BriefVid
      @BriefVid  8 หลายเดือนก่อน

      Thanks so much! Please help me share it 🙏🏻

  • @shinauri1
    @shinauri1 6 หลายเดือนก่อน +1

    I love this series

    • @BriefVid
      @BriefVid  6 หลายเดือนก่อน

      Thank you for your kind words!

  • @samirergaibi874
    @samirergaibi874 3 ปีที่แล้ว

    Awesome video! Made me want to check out more of your content, you got yourself a new subscriber! Keep up the good work👍

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว +1

      Thank you Samir! I will do my best to add more content soon :)

  • @subhankarhotta7094
    @subhankarhotta7094 3 ปีที่แล้ว

    Well explained man! kept it brief and simple. Keep up the good work :)

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว +1

      Thanks a lot for this kind feedback Subhankar! I appreciate it 🙏🏻

    • @subhankarhotta7094
      @subhankarhotta7094 3 ปีที่แล้ว

      @@BriefVid Why aren't you uploading more content like this?

  • @Maximum_Dev
    @Maximum_Dev 3 ปีที่แล้ว +2

    I just subscribed, This is great! Keep up the good work!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you so much Ryan! Will do :)

  • @guru_bro
    @guru_bro ปีที่แล้ว +2

    I cannot thank u enough u r a angel?

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Thank you so much for your kind words :) Not an angel, but I'm happy you found it useful! Let me know if you have any questions

  • @yusun5722
    @yusun5722 2 ปีที่แล้ว

    Best explanation on Git internals.

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Thanks a lot for your kind reply @Yu Sun! Please help me spread the word by sharing these videos with more people 🙏🏻

    • @yusun5722
      @yusun5722 2 ปีที่แล้ว

      @@BriefVid Definitely.

  • @thejordan701
    @thejordan701 3 ปีที่แล้ว +1

    Very clear ! Thanks Omer !

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thanks Jordan, I'm glad you liked it!

  • @it-series-music
    @it-series-music 3 ปีที่แล้ว +1

    Awesome explanation and apt animation!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you very much!

  • @whonayem01
    @whonayem01 2 ปีที่แล้ว +1

    Excellent! Thank you!

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Glad you enjoyed it! Thank you for your nice comment :) Please subscribe to this channel 🙏🏻

  • @i_m_veer_singh
    @i_m_veer_singh 3 ปีที่แล้ว

    Very well explain! Well done! Keep it up!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thanks a lot Parmveer!

  • @mercerkace2023
    @mercerkace2023 ปีที่แล้ว +1

    Awesome explanation

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Thank you so much!

  • @Foredres
    @Foredres 2 ปีที่แล้ว

    This awesome, really thanks for this video!
    New sub and hello from Bogota!

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Thank you Andrés! It's great to have you as a subscriber :)

  • @alialwerfally6497
    @alialwerfally6497 3 ปีที่แล้ว +2

    thank you so much that was amazingly clear

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว +1

      Thank you for the kind comment!

  • @akumpum
    @akumpum ปีที่แล้ว +1

    Excellent tutorial

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Thank you! Please share it with more people 🙏🏻

  • @randomsde4390
    @randomsde4390 2 ปีที่แล้ว +1

    Great content!

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Thank you!

  • @viveksaroj3215
    @viveksaroj3215 2 ปีที่แล้ว +1

    thank you very much, you cleared my confusion

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Thanks for letting me know Vivek!

  • @davisnoah347
    @davisnoah347 2 ปีที่แล้ว

    Life saver my man.

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Thank you Noah!

  • @mrk19933
    @mrk19933 ปีที่แล้ว

    Awesome fantastic excellent ... 🤩

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Thank you so much 😀

  • @anandtyagi22
    @anandtyagi22 ปีที่แล้ว

    Superb video

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Thank you so much 😀

  • @BIGSCHOCK
    @BIGSCHOCK 6 หลายเดือนก่อน +1

    Just Amzing !!!

    • @BriefVid
      @BriefVid  6 หลายเดือนก่อน

      Thank you 🙏🏻🙏🏻

  • @tanchienhao
    @tanchienhao 2 ปีที่แล้ว +1

    Awesome!!

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Thanks a lot!

  • @johnathanjames2872
    @johnathanjames2872 ปีที่แล้ว

    Nice explanation.

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Thank you Johnathan!

  • @visserman365
    @visserman365 3 ปีที่แล้ว +1

    Super clear, thank you very much

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you Jean!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      I have posted the next video in the series here - th-cam.com/video/52MFjdGH20o/w-d-xo.html
      I hope you will find it useful

  • @katdareshruti
    @katdareshruti 3 ปีที่แล้ว

    Simply Amazing !!!!!!!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thanks a lot!

  • @existouf9738
    @existouf9738 3 ปีที่แล้ว +1

    Amazing

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you!

  • @hjvanderlinden
    @hjvanderlinden 3 วันที่ผ่านมา

    Thanks!

  • @hasanmirarabshahi1956
    @hasanmirarabshahi1956 6 หลายเดือนก่อน +1

    Nice video

    • @BriefVid
      @BriefVid  6 หลายเดือนก่อน

      Thank you!

  • @maximmandrik6103
    @maximmandrik6103 3 ปีที่แล้ว

    Super!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว +1

      Thank you! Cheers!

  • @samewen
    @samewen 2 ปีที่แล้ว

    Stellar

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Thank you! 🙏🏻

  • @nikitaaniskoff762
    @nikitaaniskoff762 2 ปีที่แล้ว

    Cool!

    • @BriefVid
      @BriefVid  2 ปีที่แล้ว

      Thank you Nikita! Please share :)

  • @habibdeleonbanos8196
    @habibdeleonbanos8196 3 ปีที่แล้ว +1

    Awsome!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      I have posted the next video in the series here - th-cam.com/video/52MFjdGH20o/w-d-xo.html
      I hope you will find it useful

  • @srijankumarsamanta5579
    @srijankumarsamanta5579 3 ปีที่แล้ว +1

    So the file 1.txt will be saved in new blob ?
    If in a file of say 1000 line of codes.. if I make a single line change will that mean it will create a new blob of all the 1000 lines code ?

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว +1

      Hi Srijan,
      Yes - it indeed means that. Git will create an entire new blob in this case.
      There are optimizatoins however - specifically, git's Packfile. You can read about it here: git-scm.com/book/en/v2/Git-Internals-Packfiles
      In addition, I have posted the next video in the series here - th-cam.com/video/52MFjdGH20o/w-d-xo.html
      I hope you will find it useful

    • @srijankumarsamanta5579
      @srijankumarsamanta5579 3 ปีที่แล้ว

      @@BriefVid thanks

  • @williamstubler6660
    @williamstubler6660 ปีที่แล้ว +1

    Was the hash 24601 intentional? If not then there’s something fitting about French TH-camr coming up with it :)

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      Nice catch William :) Indeed it was intentional, I am a Les Miserables fan, though I'm not French 😇

  • @realB12
    @realB12 3 ปีที่แล้ว

    Just curious: What kind of tools have you used to create this vid? Or is it really all by hand? So clear? so smooth?

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thank you Rene. I used VideoScribe, and for some videos I use my Wacom pad as well.

  • @danielsears1522
    @danielsears1522 ปีที่แล้ว +1

    Excellent tutorial. But are you correct when you say a commit object contains the hash for "one or more parent commits"? I prefer to think of a commit object as an element in a linked list where each commit object contains a single hash for its parent commit (unless its the initial commit). So to find the grandparent commit you would need to look at the parent commit.

    • @BriefVid
      @BriefVid  ปีที่แล้ว +1

      Hello Daniel and thank you for your comment and question.
      A commit object may contain pointers to more than one commit. It is not the case of a "grandparent" commit as you called it, but for example - a merge commit which has two parents (almost always) as I described in the video about Git merge:
      th-cam.com/video/ZS4stBVdDII/w-d-xo.html
      It can also have more than two (direct) parent commits, but it's extremely rare.
      I hope this clarifies things. If not, please feel free to ask 🙏🏻

    • @danielsears1522
      @danielsears1522 ปีที่แล้ว +1

      @@BriefVid Thanks! I have some more studying to do. And people say that git is complicated...

    • @BriefVid
      @BriefVid  ปีที่แล้ว

      @@danielsears1522 No problem, let me know if you have other questions 🙏🏻🙏🏻

  • @x86debug
    @x86debug 8 หลายเดือนก่อน

    dawg why is it in light mode 😭

    • @BriefVid
      @BriefVid  8 หลายเดือนก่อน

      Well it's a whiteboard :) the CLI is in dark mode

  • @rogeliovillacorajr-rmvjcha8653
    @rogeliovillacorajr-rmvjcha8653 3 ปีที่แล้ว +1

    how about tags? please create a video about tags.

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Hi Rogelio, thanks for your question!
      It actually makes sense to refer to tags in a video, but the concept is too short to dedicate a full video for them - as tags are just named reference to a commit, and that reference doesn't (automatically) change with additional commits.
      That is, let's say we have a branch `my_branch` which points to `commit_1`. Now we make another commit `commit_2` which points to `commit_1`, so `git` will automatially update `my_branch` to point to `commit_2`.
      On the other hand, if we use `git tag my_tag` to create a tag pointing to `commit_1`, then it will still point to `commit_1` even if we introduce additional commits.
      I hope that makes sense :)

  • @larissamartins9441
    @larissamartins9441 3 ปีที่แล้ว

    Thanks!!!

    • @BriefVid
      @BriefVid  3 ปีที่แล้ว

      Thanks for commenting!