A key difference:
If you rely too much on PornHub, you’re never going to get fucked.
If you rely too much on GitHub, you’re eventually going to get fucked.
It’s not, though. Git is a means of distributing content, not the content itself. The thing analogous to PornHub’s porn on GitHub is the source code in the repos hosted there, not Git itself.
Git is a DVCS. GitHub is a place where DVCS repositories are hosted. There are many other places where DVCS repositories can be hosted, but GitHub is the most famous one… Porn is a type of content. PornHub is a place where porn is hosted. There are many other places where porn can be hosted, but PornHub is the most famous one. It’s a pretty good analogy.
There are many other places where DVCS repositories can be hosted
I mean… Everyone that’s cloned the repo has a full copy of it. You could clone it directly off someone else if you wanted to.
Sure… and you could pass around porn on thumb drives. But, having a central website where you can browse public repos and clone the interesting ones is a pretty key part of Open Source / Free Software development.
If only there was a website called “StreamHub” or something.
Honestly the content vs. characteristic method of delivery distinction is subtle enough this is still a great way of explaining.
Depends on to whom. If you’re explaining to your grandma, a small child, a co-worker, or a student under your tutelage, you probably don’t want an explanation that relies on reference to a porn site.
And if you’re explaining to a novice developer or to an IT person who sometimes might have to work with Git, they deserve an explanation that leaves them with a basic understanding (or at least the names) of the kinds of things Git and GitHub are (VCSes and SCM forges, respectively), not just an inkling that GitHub is not unique in being ‘a place to host (some?) Git, whatever that is’.
So… if you don’t mind that it suggests ‘GitHub is for uploading Git(s)’, that line is an okay way to teach ‘the difference between Git and GitHub’ to non-technical, non-elderly adults who don’t really need to know what Git is (and don’t work with you or study under you).
That’s an explanation of pretty damn narrow usefulness, to put it generously.
It is pithy and memorable, though.
Git = bittorrent
GitHub = the pirate bay
Code = content
Even that’s not the perfect analogy but it’s better than the OP.
Though OPs example is easier for the general population to understand.
In Lemmy people are not aware that GitHub is not just git server with lots of code. :)
Git is a program your computer runs to have a single folder have source control. It does all the hashing and commit chaining that you’re used to, branches, that sort of thing.
But if you want it to be on more than one computer, you need to do this complicated “Bare” repository setup on a server computer to do the “git push” stuff you’re used to.
Most people, being too lazy to learn bare repositories and the general sysadmin necessary to host a git server themselves, instead just use Microsoft’s Github which is a web interface for the server use of git the program.
Microsoft then proceeded with their classic mantra of “Embrace, Extend, Extinguish” and started slapping on more and more features that are incompatible with any other git hosting service: actions, CI, their web VSCode instances, etc. That’s all in GitHub too. But it’s all just web interface for git the open source program, at the end of the day.