Git is an very popular Distributed Version Control (DVC) system. It is installed on your local system and helps you keep track of your ongoing programming versions thanks to its branching model.
Branching is to create local branches in your code that allow you to make new features, rewind to previous states of the code ... These branches can be deleted or merged into other branches.
Git is really easy to use, and completely free, so there are little to no alternatives to use.
There is one alternative called Centralized Version Control (CVC): Instead of cloning the project, everyone is connected to one server repository and every changes you make are updated on other users machines.
But there is no real reason to use CVC over DVC.
Github on the other hand is a platform built around Git.
It allows you to store and keep track of your Git version control projects thanks to the cloud. You can share your code with your team or with the world, and its is very easy to coordinate multiple people working on the same project.
Other Git repository hosting services also exist: GitLab, BitBucket, and SourceForge for instance.
Git is a tool developers use on their computers to manage projects locally. Github is a service that uses Git to hosts those projects with the cloud.