# GIT101: Git Basics
Learn the basic Git commands you need to really understand GitOps, not just use it. High-level topics covered in this video: - Why use Git in the first place? - What is a repo? - Making changes, staging files, and committing. - How do branches work? Why use them? - What is a pull request? Commands covered in this video: - `git init` - `git add` - `git diff` (with `--stat` and `--staged`) - `git commit` (with `-m`) - `git log` (with `--oneline` and `-n`) - `git show` - `git status` - `git restore` - `git rm` - `git mv` - This is one of the most important commands covered in the video, as this is not available in GitHub Desktop. Renaming with `git mv` works differently than renaming in Finder or with the standard `mv` command. - `git config` - `git push` - `git fetch` - `git pull` - `git branch` (with `-a`) - `git switch` (with `-c`) - `git clone` - `git checkout` Additional resources mentioned are: the [Git manual](https://git-scm.com/docs/user-manual) and the [Pro Git book](https://git-scm.com/book/en/v2).