Git and GitHub show up together so often that they can seem like the same thing.
They are not.
Git is a version control system.
GitHub is a hosting and collaboration platform built around Git repositories.
Start with version control
Version control records changes to files over time.
That matters because software projects change constantly:
- new files are added
- existing files are edited
- bugs are fixed
- experiments are abandoned
- multiple people work on the same codebase
Without version control, it becomes difficult to answer practical questions:
- What changed?
- Who changed it?
- Which version worked before the bug appeared?
- How can two people work on different tasks without overwriting each other?
Git exists to solve those problems.
Git and GitHub are different layers
Git handles the local history of a repository.
It can:
- track changes in a project
- group those changes into commits
- create branches for separate lines of work
- merge completed work back together
GitHub adds a shared remote layer.
It can:
- host Git repositories online
- let people clone and push repositories
- show pull requests, code review, and issue tracking in a web UI
- run automated checks through GitHub Actions
How this course is organized
This material starts with Git, then moves to GitHub. GitHub only makes sense once the underlying Git ideas are clear.
The first part covers:
- repositories
- commits
- staged changes
- branches
- merging
The second part covers:
- remotes
- cloning and pushing
- pull requests
- code review
- issues
- Actions
The main idea
Git tracks and organizes project history. GitHub helps people share, review, and manage that work together. Keep those two layers separate in your head and the rest will make more sense.