Create your GitHub account and first repository, set up SSH keys so pushing just works, and connect new or existing projects to GitHub.
Why: GitHub is a website that hosts your Git repositories ("repos") plus everything around them — code review, automated checks, and issue tracking. It is where most open source lives and where most job listings expect you to have a profile. Note: GitHub hosts Git; it does not replace it. The commits, branches, and merges are all the Git you already know — GitHub just stores a shared copy online.
1. Sign up at https://github.com — the free tier is plenty 2. Top bar → plus (+) → "New repository" 3. Pick a name, choose Public or Private, and tick "Add a README"
Your repo now lives at https://github.com/<username>/<repo> Download a full copy of it onto your machine:
git clone https://github.com/<username>/<repo>.gitcd <repo>Why: over HTTPS, GitHub no longer accepts your account password from the command line, and asks for a token every time. An SSH key is a pair of files — a private half that never leaves your machine and a public half you paste into GitHub — that authenticates you automatically. Set it up once and pushing just works.
Generate a key pair (press Enter through the prompts)
ssh-keygen -t ed25519 -C "you@example.com"Print the PUBLIC half — copy the whole line
cat ~/.ssh/id_ed25519.pubPaste it in GitHub: your avatar → Settings → SSH and GPG keys → New SSH key
Test the connection — GitHub should greet you by username
ssh -T git@github.comFrom now on, clone with the SSH URL instead of HTTPS
git clone git@github.com:<username>/<repo>.gitWhy: your machine and GitHub each hold a full copy of the repository. git pull brings down what teammates pushed since you last looked; git push sends your commits up. Everything in between is the Git you already know. Note: pull before you start working so you build on the latest code, not a stale copy.
Start by bringing down what changed on GitHub
git pull…edit files, then the loop from the Git course
git add .git commit -m "Describe the change"Send your commits up to GitHub
git pushWhy: a project you already started on your machine doesn't need to be re-created in the browser. Create an empty repository on GitHub (no README this time, so it doesn't conflict), then point your local repo at it with one remote add. Note: "origin" is just the conventional nickname for your main remote — the GitHub copy.
Inside a repo you created locally with git init
git remote add origin git@github.com:<username>/<repo>.gitPush your commits and set "origin/main" as the upstream branch
git push -u origin mainAfter -u, future pushes from this branch are just:
git push