Reiterating on my point again, the aim of this project is not to replicate Git. JS-Git (https://github.com/creationix/js-git) does that.Here I am trying to code basic concepts relaxing complex stuff so that reader can focus & visualize more abstract concepts. I have tried to bring in concepts as and when wanted instead of just overloading the reader with complex stuff all at once.