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