In part 2 of re-implementing git from the ground up, I'm going to focus on:
building the git database
writing the internal structs (objects, trees, blobs, commits, refs)
continue working on git commit and implement commit chaining
make the first commit using our tool
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.
The Full Playlist: • Rewriting git from scratch in Go!
▬▬▬▬▬▬ 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/
▬▬▬▬▬▬ Chapters 🕐 ▬▬▬▬▬▬
00:00:00 - Intro
00:08:09 - Recap from part 1
00:13:26 - Refactoring & cleanup
00:21:45 - Creating a Makefile
00:26:11 - Creating objects interfaces & structs
00:36:22 - Implementing the database storage
00:47:57 - Understanding Linux filemodes
00:55:10 - Writing objects on disk
01:07:23 - Creating & storing Blobs
01:22:47 - Building the Tree & Entry objects
01:29:25 - Tree serialisation
01:45:42 - Creating the Commit object
02:04:20 - Conclusion
▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬
Twitter: / bassemdy
GitHub: https://github.com/link-
LinkedIn: / bassemdghaidy
Facebook: / 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 #git