Git is a standard tool for version control these days so we all use it daily. And we all understand it. Or do we? Well... Let's face it - git is hard. The main reason for this lies in its UI. It is full of leaky abstractions. That is why to get comfortable with git you need to gain some understanding of how git works internally. In this talk, we "open" git's hood and take a look at what happens there when we do our daily operations.