The second episode of rewriting git in Go is out!
It's a long one but we made a lot of progress and we managed to commit our project using our implementation of git! 🙌
Why would you watch this?
Well, here are a few reasons:
✨ You'll develop a better understanding of GoLang (even if you're a beginner)
✨ You'll understand deeply how git works (gives you bragging rights)
✨ You'll develop an understanding of Linux, file storage operations, Makefiles, data structures, serialisation, CLI tool design etc.
✨ If you follow along, you'll have your own git implementation and that will go a long way in demonstrating your capabilities
✨ It's fun! Here are the chapters for your reference:
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
I'm working on Part 3 where we'll continue building our tool and we'll be doing a full implementation of a Merkle Tree and much more
https://blog.glich.stream/posts/writing-the-git-database-amp-making-out-first-commit-advanced/