# Git and GitHub Diagram and Terms

Here's a quick diagram to help you understand the typical git/github interactions along with common terms used in the git process.

[![](https://mermaid.ink/img/pako:eNplUb1OwzAQfhXrJiqlPEBEWVIEC0pVylDFHUx8qaPGdrjYQqh07Y54wz4JjpNWFXg6f3939u2htBIhhaqxH6US5Nhqzg0LZ52_FsXaemKPtVP-bbMZ8Hz19LAsitwp_EstsptoyKxuvUOacHPlYbPZPftilaXd6fgdqtDh0ordTnuy9U3DCN89du50_AlItJ5zeuHdNCrLxhoMkiR6xqJTQ_IiG_TnsdjosVrXbuSvJ4v0v8QohAQ0kha1DL-0700cwtM1ckhDKQXtOHBzCDrhnX35NCWkjjwmQNZvFaSVaLpw860UDue12JLQFxRl7Sw9D0uIuzj8AqTMhdQ?type=png)](https://mermaid.live/edit#pako:eNplUb1OwzAQfhXrJiqlPEBEWVIEC0pVylDFHUx8qaPGdrjYQqh07Y54wz4JjpNWFXg6f3939u2htBIhhaqxH6US5Nhqzg0LZ52_FsXaemKPtVP-bbMZ8Hz19LAsitwp_EstsptoyKxuvUOacHPlYbPZPftilaXd6fgdqtDh0ordTnuy9U3DCN89du50_AlItJ5zeuHdNCrLxhoMkiR6xqJTQ_IiG_TnsdjosVrXbuSvJ4v0v8QohAQ0kha1DL-0700cwtM1ckhDKQXtOHBzCDrhnX35NCWkjjwmQNZvFaSVaLpw860UDue12JLQFxRl7Sw9D0uIuzj8AqTMhdQ)



## Legend

- **Your github** - a fork of the Assignment or Class Repository
- **Other Github** - the official course assignment or  Class repoistory
- **Your Computer** - working local on the Repository or in Codespaces

## Actions

- **Commit** - Save local changes into the Git repo. A commit is a bundle of changes, and what are pushed or pulled.
- **Push** - Send local commits to Github (your remote)
- **Pull** - Download Github (your remote) commits to your computer
- **Fork** - make a cloud copy of another Github Repository
- **Clone** - make a local copy of a Github repository.

## Terms

- **working copy** - the cloned local copy on your computer or Codespaces
- **remote/origin** - the copy of the Repository on Github
- **upstream** - the source Fork of a Github Repositry
- **pull request** - ask a Github Repository to merge in your changes because you don't have permission to push.

