Demystifying git using Python

Naveen Naidu (~Naveenaidu)


"What I cannot create, I do not understand" - Richard Feynman

This talk draws inspiration from the above quote, and aims to demystify the vodoo of git.

Many of us have been in the situation where we were awestruck by a piece of software and our hands itched to hack our way into the internals of it and understand how it does, what it does. Sometimes we did get through in but most of the times we didn't fearing that we won't be able to comprehend the complexity of the software. Only to realize very later that the core principles of the software are pretty straight forward.

I was in the same position when i decided to take up the task of building git from scratch using python. And this talk is about, how I went ahead and implemented a version of git using python with the help of many online resources.

In this talk, we would be demystifying the secrets of git and build a pretty simple yet very functional git client in python and we will do so by following the same principles and techniques git employs to do it's magic.

NOTE: This talk is highly inspired from pygit an implementation of git in python by Ben Hoytt.

In this talk we would be learning about:

  • Implementing git object model using pygit
  • pygit init ( How to initialize git a repo using python)
  • pygit add and pygit commit ( How to commit and add files using pygit)

Since this talk will be time bound, it would be practically impossible to explain all the features of git so, this talk would mainly focus on three commands: init, add and commit.

Who is this talk for ?

  • Python devs who love building things from scratch
  • Anyone interested in knowing about the internals of git


  • Basic Python programming knowledge
  • Basic understanding of git

Content URLs:

Speaker Info:

Naveen Naidu is an undergraduate majoring in Computer Science in India. He goes by the name @Naveenaidu on the internet. He's inquisitive by nature and has a burning desire to explore various fields to help people benefit from technology. He is a Google Summer of code Student 2019 for coala. He also is an intern hacking on Mainframe computers at Open Mainframe Project funded by The Linux Foundation. He also has been the Google Code In Mentor 2018 for coala. He says - " Computers are his kind of intoxication and he never wants to get over this addiction :P "

When Naveen is AFK (Away from keyboard), he spends his time giving talks and conducting workshops promoting the Open Source Community and it's advantages. He loves watching animated movies and reading Fantasy Fiction( Lord of Rings being his favorite).

Id: 1373
Section: Core Python
Type: Talks
Target Audience: Intermediate
Last Updated: