# Version Control, Git, GitHub, and GitHub Desktop

## What is Version Control?

Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. It allows multiple people to collaborate on a project, keeps track of every modification to the code, and can help revert to a previous version if necessary. Even if you are working alone, it can make things so much easier.

## Table of Contents

1. [Pre Workshop: Setup instructions](01-setup.md)
2. [Overview of Git](02-basics.md)
3. [Create and initialize a repository](03-init-repo.md)
4. [Making and committing changes](04-changes.md)
5. [Viewing commit history](05-history.md)
6. [Understanding branches](06-new-branch.md)
7. [Revisiting Old Commits in GitHub Desktop](07-history2.md)
8. [Using .gitignore in GitHub Desktop](08-ignore.md)
9. [Create a Remote Repository](09-github.md)
10. [Pull Requests (PRs) in GitHub](10-pull-requests.md)
11. [Merge Conflicts](11-merge-conflicts.md)
12. [Cloning and Forking a Repository](12-clone-and-fork.md)
13. [Licensing](13-license.md)
14. [Citation](14-citation.md)
15. [Where to Host Your Work](15-hosting.md)
