your actual files on disk, in the state you can see and edit 2. **Staging Area** — a selection of changes you've chosen to include in the next commit 3. **Repository** — the permanent history of all commits (stored in `.git`)