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. - วิทยาศาสตร์และเทคโนโลยี
Best explanation I have ever seen on this topic
Thank you so much!
Outstanding explanation of the internals. A lot of info condensed into just 5 minutes. Awesome bro. 👌 hats off 👏
Thank you so much for this kind feedback! 🙏🏻
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!
Thank you very much for your kind feedback!
Amazing content mate. Please upload more tutorials like this. You have a talent for explaining things...
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
Yes, I agree!
it was really well described and animated. that was perfect. thank you for your job.
Thank you so much for your kind words!
Wow, wow, WOW! I've never seen such a difficult concept explained so well. Thank you.
Thank you so much, your comment made my day 🙏🏻
This is such a good explainer, I wish this was more popular!
Thank you for your kind reply 🙏🏻
Please help me share the word and make it more popular :)
simple and to the point, thank you :)
Thank you for the nice comment! I am glad you liked it!
I can not belive how simple and awesome you explained these concepts! Thanks a lot
Thank you for your kind reply 🙏🏻
Please help me share these videos with more people :)
That is amazing! concise and crisp, would love to see more of these.
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!
Bro just destroyed my 3 years ignorance. Great explanation.
Thank you :) I am glad it could help!
This is cool explanation! Can't wait to see next video.
Thanks! It will be published soon
Just WOW.. best ever git explanation ❤️👍
Thank you so much Kamil! I appreciate it! 😀
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!
Thanks so much for your kind reply Lucas! I will do my best to post more :)
@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
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!
Thanks Brett! Your comment made me happy :)
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 👍
Thank you Hamza!
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
I agree that it is an amazing video and the way you explain the material is really cool. Please, go on.
Thank you so much for this kind feedback! 🙏🏻
Awesome content Brief! Thank you a lot man, please continue.
Thanks, will do! If there are specific topics you'd like me to cover, please let me know!
You legend, so clear and really well animated!
Thank you very much so the kind words 🙏🏻
Thnaks !! Great content and pretty well presented: neat, concise, and to-the-point...
Glad you enjoyed it And thank you! These comments really make my day and motivate me to create more content :)
omg I immediately understand the git objects thank you!
Thank you for your kind reply!
Wonderful, Thank you, Omer.
Thank you Team!
Quick, well animated and conceptually explained
Thank you very much!
Best explanation. Thank you so much
You are welcome! Thank you for your kind comment 🙏🏻
this is easily the best possible explnation out there,,,
Thank you so much!
Thanks you! I have been searching hard to understand this, and now I got! :)
Glad it helped @Renato! Please help me spread the word 🙏🏻
Awesome work dude! Thanks a lot!
Glad you liked it, and thank you for commenting!
Awesome intro!
Thanks @Ilan Godik! I will post the next videos soon
Love the Les Miserables reference.
Nice catch River! I was wondering when someone would notice it 😉
Such an underrated channel, awesome content 🙌
Thank you very much! Please spread the word so more people get to enjoy it :)
Amazing video, totally under-viewed! 😀
Thanks so much! Please help me share it 🙏🏻
I love this series
Thank you for your kind words!
Awesome video! Made me want to check out more of your content, you got yourself a new subscriber! Keep up the good work👍
Thank you Samir! I will do my best to add more content soon :)
Well explained man! kept it brief and simple. Keep up the good work :)
Thanks a lot for this kind feedback Subhankar! I appreciate it 🙏🏻
@@BriefVid Why aren't you uploading more content like this?
I just subscribed, This is great! Keep up the good work!
Thank you so much Ryan! Will do :)
I cannot thank u enough u r a angel?
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
Best explanation on Git internals.
Thanks a lot for your kind reply @Yu Sun! Please help me spread the word by sharing these videos with more people 🙏🏻
@@BriefVid Definitely.
Very clear ! Thanks Omer !
Thanks Jordan, I'm glad you liked it!
Awesome explanation and apt animation!
Thank you very much!
Excellent! Thank you!
Glad you enjoyed it! Thank you for your nice comment :) Please subscribe to this channel 🙏🏻
Very well explain! Well done! Keep it up!
Thanks a lot Parmveer!
Awesome explanation
Thank you so much!
This awesome, really thanks for this video!
New sub and hello from Bogota!
Thank you Andrés! It's great to have you as a subscriber :)
thank you so much that was amazingly clear
Thank you for the kind comment!
Excellent tutorial
Thank you! Please share it with more people 🙏🏻
Great content!
Thank you!
thank you very much, you cleared my confusion
Thanks for letting me know Vivek!
Life saver my man.
Thank you Noah!
Awesome fantastic excellent ... 🤩
Thank you so much 😀
Superb video
Thank you so much 😀
Just Amzing !!!
Thank you 🙏🏻🙏🏻
Awesome!!
Thanks a lot!
Nice explanation.
Thank you Johnathan!
Super clear, thank you very much
Thank you Jean!
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
Simply Amazing !!!!!!!
Thanks a lot!
Amazing
Thank you!
Thanks!
Nice video
Thank you!
Super!
Thank you! Cheers!
Stellar
Thank you! 🙏🏻
Cool!
Thank you Nikita! Please share :)
Awsome!
Thank you!
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
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 ?
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
@@BriefVid thanks
Was the hash 24601 intentional? If not then there’s something fitting about French TH-camr coming up with it :)
Nice catch William :) Indeed it was intentional, I am a Les Miserables fan, though I'm not French 😇
Just curious: What kind of tools have you used to create this vid? Or is it really all by hand? So clear? so smooth?
Thank you Rene. I used VideoScribe, and for some videos I use my Wacom pad as well.
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.
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 🙏🏻
@@BriefVid Thanks! I have some more studying to do. And people say that git is complicated...
@@danielsears1522 No problem, let me know if you have other questions 🙏🏻🙏🏻
dawg why is it in light mode 😭
Well it's a whiteboard :) the CLI is in dark mode
how about tags? please create a video about tags.
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 :)
Thanks!!!
Thanks for commenting!