Live data from Hacker News

Build Git – Learn Git

kushagragour.in

11–20 of 42 posts

Re: Build Git – Learn Git

#11
Very nice. Basic reimplementation is always useful to visualize abstract concept like Git. Git can be hard to new comers, as it's not always obvious what commit/branch/push does. Thank you

Re: Build Git – Learn Git

#12

I love the idea! This is a really cool way to learn anything, then, for that matter, I guess. Thank you.

BINGO. I actually try to do this before job interviews: build a dumb version of one of their big products. I'm not even talking about something as sophisticated as this git project, I mean "build a dumb version".

Re: Build Git – Learn Git

#14
post #5

I suspect you may already be aware, but if not then here's a related project https://github.com/creationix/js-git . Lest you misunderstand, I'm not saying you should stop development, I just thought it might be of interest!

From what it seems, I believe the objectives of both the projects differ greatly. js-git attempts to replicate the functionality of git entirely using Javascript, whereas this one is to make people learn and understand git using programming paradigms.

Re: Build Git – Learn Git

#15
post #9

This is nice. One pet peeve is that (as far as I know, I'm really not an expert) Git repos don't actually have names. The first thing the article does when implementing them is to give them names, which I thought was a bit jarring. I actually think the namelessness of the repos is one of the things that are unexpectedly cool about Git.

Probably right.I think I gave them naming keeping mind Github repos have name...maybe :)

Re: Build Git – Learn Git

#17
implementing git is an interesting approach to learning it.

i generally support this kind of stuff - however I think that this starts out implementing a source control solution rather than git in particular and its a shame that it follows git so closely later down the line in that regard (but completely understandable given the aim).

solving the problems for yourself you can get some insight into why git is the way it is (and svn, p4, hg, everyone else...)

Re: Build Git – Learn Git

#18
A nice concept, but it doesn't really have much to do with Git. It's just another SCM system, and the concepts are just as applicable to e.g. Mercurial as Git. There are enough differences from Git to make it quite incompatible (named repository, incremented commit IDs, single parents et c.).

Re: Build Git – Learn Git

#20

A nice concept, but it doesn't really have much to do with Git. It's just another SCM system, and the concepts are just as applicable to e.g. Mercurial as Git. There are enough differences from Git to make it quite incompatible (named repository, incremented commit IDs, single parents et c.).

The point is to implement gradually. For example, in the concepts covered in part 1, multiple parents was not required, hence it was left. It should make sense to the reader why something was implemented and why it does what it does.

Its concepts might apply to other VCS. But that is immaterial, Git is what we are trying to understand here.

Post reply on HN