- an identical copy of a project at a particular point in time kept separate from the 'master' branch (primary copy). This keeps your code in the 'master' branch safe while you make changes and experiment with code on the new branch. You can merge your new branch back into the 'master' branch when you want to publish your changes.
- a copy of an online repository on your local computer so you can make edits on your own personal copy without having to be online. You can sync changes between your clone and the remote copy when you are online.
- someone with read and write privileges to a repository as approved by the repository owner.
- someone whose contributions to a project have been accepted through a pull request but does not have read/write access like a collaborator.
- equivalent to saving your changes to a file. When you commit you usually include a brief description of the changes you made so you can identify versions later if you want to undo a change.
- download changes to your local copy from a remote repository
- making a copy of someone else's repository into your own account. You can make any changes you want to a forked copy and you can request those changes be added to the original repository through a pull request.
- Discussion items related to a repository. They can be "To Do" lists, requests for help, suggestions for improvement, or just questions. Issues can be assigned to contributors and can have labels and milestones attached. Anyone can create an issue. You do not have to have write access to a repository to make an issue.
- Tags used to identify characteristics of an issue for sorting and triage. A label can describe the priority-level of an issue, an issue type (e.g. bug, feature, question, etc.), or any other type of characteristic you'd like (e.g. "low-hanging fruit", "fun", "if time", "good first bug"). An issue can have as many labels as you want.
- a simple syntax (like HTML but easier) that lets you format (bold, italics, checkboxes, lists, etc.) your text in GitHub. You can use this syntax in text files (.md), commit messages, issues, and more. See [this guide] (https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) for a quick rundown on Markdown.
- the default branch in your repository.
- taking the changes from one branch and adding them to another. This process takes place through a pull request.
- Another way to tag, group, and sort issues. Only one milestone can be assigned to an issue at a time. Milestones can be assigned a deadline date for project management.
- a request to accept edits you've made to a project on your forked copy or branch. A repository owner or collaborator can accept or reject a pull request. Once you have a pull request accepted, you become a contributor to that project.
- versions of your project repository that are hosted on the Internet or network somewhere (e.g. copy of your project on GitHub vs on your local computer).
- A repository can be thought of as a project folder. A repository contains all of the project files, issues, labels, and milestones. It also stores the history and versions of each file.