Learn git by BUILDING IT From Scratch! (Part 1) Understanding the git internals [Advanced]
Learn git the hard way! I’m re-implementing git from the ground up so that you can get the chance to understand at a very deep level how this tool works.
git is a tool that is used by millions of developers every day, but it’s also a tool that is often misunderstood. I want to help you understand how git works, and how you can use it more effectively.
In this part, I covered:
– deep dive into the .git folder
– understanding objects, trees, blobs, and their representation on disk
– scaffolding the CLI and implementing git init, git commit
▬▬▬▬▬▬ Resources & References 📕 ▬▬▬▬▬▬
– Building git (James Coglan): https://shop.jcoglan.com/building-git/
– g source code (only available to my Patreon and Youtube members): https://github.com/glich-stream/g
– git lfs: https://git-lfs.com/
– Playlist: https://www.youtube.com/playlist?list=PLArH6NjfKsUjkUZFJCHRLp7dneAY-U85L
▬▬▬▬▬▬ Chapters 🕐 ▬▬▬▬▬▬
00:00:00 – Intro
00:03:50 – Deep dive into the .git folder
00:10:44 – .git/config file
00:13:49 – git hooks
00:16:46 – exclude without .gitignore
00:18:31 – git lfs (large file storage)
00:21:05 – git refs
00:22:06 – how git represents objects on disk (blobs, trees, commits)
00:34:37 – decompressing objects with zlib DEFLATE
00:38:07 – understanding blobs with hexdump
00:56:25 – creating the command line interface (CLI) with cobra
01:00:54 – implementing git init
01:09:38 – start implementing git commit
01:18:41 – conclusion
▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬
– Twitter: https://twitter.com/bassemdy
– GitHub: https://github.com/link-
– LinkedIn: https://www.linkedin.com/in/bassemdghaidy
– Facebook: https://www.facebook.com/BassemDy
– Blog: https://blog.bassemdy.com
▬▬▬▬▬▬ Support the channel 💜 ▬▬▬▬▬▬
Every little bit helps ✨
– Become a member of the channel: https://glich.stream/yt_members
– Get access to Patreon exclusive perks: https://glich.stream/patreon
– 1 time support: https://glich.stream/coffee_shop
#glichstream #softwareengineering #programming #coding
Comments are closed.