I need help with Github

So I am completely new to Github, but I have heard it is better than codepen, which is what I have used ever since I started learning to code. Can someone please just explain it and it’s interface. I don’t get the repository stuff and it is just confusing for me, I want to just practice coding. So if anyone can pretend explain github to a fourth grader, that’s what I need lol.

1 Like

I tried to follow a tutorial and make the README thing and I am just so lost.

GitHub and CodePen are very different things. I suggest starting with Git and GitHub in Plain English.

for reference GitHub is a graphical interface for the git program written by none other than Linus Torvalds of Linux fame. GitHub works best when using both programs in conjunction. so before getting into using GitHub the first task is to get git.


or something like sudo apt install git from the command line depending on your linux distro

then create an account on GitHub which is simple enough, then watch the video which will walk you through the basic usage of git and GitHub.

there is also a git tutorial from the git command itself (run form the command line) which will take you further and then there is the git documentation once you’ve consumed all of that information.

something else to consider when moving is that codepen is a self contained programming environment for HTML/CSS/JavaScript that contains a lot of extra goodies (like Sass and Emmet). when you move to using a version control manager like git/GitHub you will need to replace that programming environment with something. e.g., VSCode, Atom, Vim, Brackets or whatever your editor/IDE of choice is.

lastly you’ll want to read up on GitPages to publish your work


This is not correct at all I’m afraid. GitHub a service to host version control (so therefore by extension it is a place for hosting code repositories). It is one of several, mainly provided by very large companies — GitHub is Microsoft (as of last year), BitBucket is Atlassian, GitLab is independent, Google used to do the same thing but shut that down a few years ago, Amazon has some offering available on AWS that does the same thing. GitHub happens to far and away the most successful of these

Graphical interfaces do exist for git (Kraken and Tower for example), but that is not what GitHub is.

at its core GitHub is a GUI for git and would not exist without the git command line program. GitHub’s main offering is a free public space for sharing repositories. it takes the features of git along with a public space for storing repositories and provides a graphical web based interface to interact with.

a GUI.

Linus himself has called it as such.

we can agree to disagree.

It is possible to use GitHub as a git GUI for a restricted subset of git commands, but to do that you would need to only use the online diff editor to write your code because it would be the only way to commit. That’s not practical in any way, shape or form, so, no, GitHub is not a git GUI, it’s a hosting service provider (which does have a very nice web GUI for what it offers), its a completely different category of thing. It’s kinda like saying GoDaddy is an FTP program, or that Microsoft is a Word Processor. At its core, GitHub is structured central storage for petabytes of data in the form of the contents of millions of .git folders. Git shouldn’t need anything like GitHub either, the point is that it’s distributed: it shouldn’t have a central point of failure. It just turns out that most people like having the convenience of that central point, it makes organising and thinking about stuff easier.

1 Like

I would advise just continuing to use codepen if coding is all you want to concentrate on right now, there is no real need to use GitHub until you start coding in a locally installed code editor of your choice, and even then you don’t need to use git or GitHub.

As already mentioned, git is a version control system and GitHub is a service to host/store your repositories. I would advise concentrating on your code to begin with, as you stated you want to do. There is no need to add complexity at this point, and codepen stores all your projects online already (and doesn’t integrate with GitHub as it doesn’t really need to).

That said, I would get used to using the ‘fork’ button on codepen to get an idea of what ‘forking’ is and how it can be useful. ‘Forking’ is a term used in GitHub so it’ll be a start, at least. When you are fully committed to ‘working locally’ on your machine, you can still get away without using GitHub for quite some time, so there’s no need to worry about diving into it too soon, as you will most likely have plenty of questions about your ‘local’ setup before you need to start worrying about using git and GitHub.


100% this. Knowing how to make use of git is quite important from a job perspective, but not from a “learning to program” perspective; it’s a tool for dealing with something very different to that.

GitHub is a service that hosts git repositories. Codepen runs code snippets so you can see their outcome. GitHub is more like a sophisticated Dropbox.

Are there any that are better to use than codepen? I was under the impression github was like an advanced codepen, my bad

For what usecase?

  • CodePen is currently pretty unbeatable for what it does well (tiny throwaway HTML/CSS/JS prototypes/experiments).
  • For prototyping/sketching front-end, there a number of very very similar sites (in look and functionality) --StackBlitz for example – that let you build out a front end across multiple files, importing packages from npm if needed (so you can build say a React or Vue or Angular app).
  • For prototyping/sketching Node-based apps and experiments (back and front), Glitch.
  • For prototyping/sketching/trying out and running arbitrary code (and GUI things as well) in various languages, repl.it
  • For running single JS functions and visually walking through how they run step-by-step, pythontutor. As the name suggests, designed just for Python originally, but the JS version of the app is pretty invaluable when you’re a beginner going through the JS algorithms section here.