In This Blog I will show you how I built my own version of Github.
In This Blog I will show you how I built my own version of Github. First of all, if you guy want to check it out it is available here.
Now Let me talk a bit about the functionality. Any registered user can
For exploring these features checkout
Though I have put all my efforts into it this project it is still a side project and by no means production ready. Besides I myself was started out building this project without no idea whatsoever. Figuring out at each step the best ways to do the next. So, probably I am doing a million things wrong and there are many better ways to accomplish each tasks. So if at all you find something wrong please let me know so that I can find a better way.
Okay, so now thats out of the way lets talk about the project itself. At this point, you are probably wondering (if no, you already a Git guru and this blog is by no means helpful to you cause you already know all of this stuff) how is it possible, how can we store entire folders, how to manage multiple commits and branches, how does CLI functionalities (like clone, pull, etc) work, how to define authentication, and many other details. I will walk you through each of these details in this blog. So get ready to explore a lot of new, interesting and potentially useful stuff.
First of all, let me tell you if this. If you are thinking these are all too advanced, honestly no. Anyone curious about understanding how different systems work can easily do this. Although some prerequisites are advisable.
At the end we will have a website through we can create, delete repos, blah blah blah (all the above mentioned functionalities).
All the used stuff
If you are following along just know that all these technologies are just tools and they can be replaced with any other similar technology that you are comfortable with.
In the end hopefully you will have a much better understanding of how git works.
So now lets start building. But before that we need a thorough understaning of Git and especially how remote repositories work.