Git is a distributed version control system that allows developers to work together and track changes to code over time. It keeps track of changes by taking snapshots of the project that create unique IDs for each change. Developers can have their own copy of a repository and commit changes locally before pushing them to a remote server for others to access. This allows for non-linear development with features like branching and merging. GitHub is a popular site for hosting Git repositories online, but Git can also be used locally or with self-hosted servers.