This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!
Project Description

##Overview This is the git-in-python project.

It aims to rewrite Git in Python, perhaps with some C code for high performance.

The file named ‘’ is the entrance of the whole project.

##Why [The Official Git]( written in C attracts hackers all over the world since created.

When I start using Git, I can’t stop thinking about why is Git so unique? How did hackers build it? What are the branches, objects, protocols inside the Git source code?

When people talk about a product that is awesome, they are usually talking about the outside of the product.However, I mean when the outside of a product is awesome, the inside of the product is also very likely to be awesome such as iPhone, MacBook, BMW and some famous software.

Git is one of them, as we know, created by Linus Torvalds in 2005 with a legendary history: <>

So, curiosity drives me to look inside [Git]( and rewrite it, which brings me lots of fun.

This project takes me a lot of time. I have to work for company during the day so that I can only dev this project during a few hours at night.

##Requirement Rewrite Git in Python seems not something easy, so this project is not for C/Python/Git beginners.

However, don’t get frustrated, It’s not that hard.You can contribute to this project step by step:

  1. learn C: [The C Programming Language](
  2. learn Python: [The Python Tutorial](
  3. learn Git: [Pro Git](
  4. read Git dev documents: [the official Git technical documents](
  5. understand Git source code: [the official Git source code](
  6. fork this project, fix bugs, add features, and even rebuild the architecture.

##Target Dev the core command of the official git such as ‘init’, ‘add’, ‘commit’, ‘push’, ‘clone’ that when we run xxx, the result is the same as git xxx. Otherwise, there is something wrong maybe.

##Future Surely, It takes time, It takes patients.

I don’t care that at all. I love the fun in this project and the smart people working together.

I’m interested in the smart people all over the world, especially the doers who can always get things done, not the talkers.

Let’s go.

Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting