Proposed by: Abhradeep Chakraborty

Diving Deep into Git's internals

Git is a version control tool that works by storing Git objects (i.e. commits, trees, blobs, and tags) inside the .git folder. When you run "git clone" or "git fetch" (or any command that needs to fetch data from a remote server), Git internally fetches the objects from the server that are not on the local machine. Ever wondered how Git manages to quickly find out which objects to fetch and which not to? After all, Git knows nothing more than the existence of branch heads. So how does it know which Git objects are reachable from branch heads?


In this talk, I'll answer exactly the same questions. I will also show you how Git uses reachability bitmaps to optimize the whole process. Last but not least, I'll be sharing my Google Summer of Code experience and some tips to help you start contributing to Git, probably one of the most significant FOSS tools in the life of a developer.

Source code/Reference: https://medium.com/@abhra303/gsoc-final-report-feaaacfae737

Talk duration: