Also, of note, is that currently if you "fork" using git and push it into a github repository, there's no way to re-attach/hint github about the original ancestor.<p>The problem is compounded by the fact that doing <i>anything</i> related to the ancestor, such as pull requests, or even just diffs, will not be possible.<p>I submitted a feature request to the github folks years ago, but nothing has really happened (I was just suggested to delete and fork the repository again).<p>Not that it's hard: you could determine the ancestor and different lineages just using the hashes of the commits upon the first push to github. You could also do it completely offline, it wouldn't matter.<p>There's also quite a number of forks available on github which aren't really visible because of that. I know that for some of my own projects and smaller projects that I checked, a code search would actually reveal <i>many</i> non-linked repositories. And I also know why: I often don't fork on github (why would I if I know nothing about the project yet?), I just shallow clone locally. Forking on github doesn't serve any purpose until you actually change the code, which oftentimes has already been done locally.