Some Git and GitHub Vocabulary

This is a small list of what I think are the most important terms to have at the ready.

Branch: a parallel version of repository that does not affect the primary branch allowing you to work freely without disrupting the "live" version. When you've made the changes you want to make, you can merge your branch back into the master branch to publish your changes.

Clone: A clone is a copy of a repository that lives on your computer where you can edit the file.

Commit: or "revision", is an individual change to a file (or set of files). Every time you save, it creates a unique ID that allows you to keep record of what changes were made, when and by who.

Diff: the difference in changes between two commits, visually describing what was added or removed from a file since its last commit.

Fork: your copy of another user's repository, where you can freely make changes to a project without affecting the original. Forks remain attached to the original, allowing you to submit a pull request to the original's author to update with your changes. You can also keep your fork up to date by pulling in updates from the original.

Git: an open source program for tracking changes in text files.

Issue: suggested improvements, tasks or questions related to the repository that can be created by anyone (for public repositories), and are moderated by repository collaborators. Each issue contains its own discussion forum, can be labeled and assigned to a user.

Markdown: a simple file format, that makes it easy to write text and have it displayed like a website.

Merge: merging takes the changes from one branch and applies them into another. This often happens via a pull request. A merge can be done automatically via a Pull Request via the GitHub.com web interface if there are no conflicting changes, or can always be done via the command line. See Merging a pull request.

Pull: getting the latest changes from an online repository and merging them into the file you're both working on (you can “fetch” without merging, but merging does both).

Pull Request: a request to merge proposed changes to a repository submitted by a user and accepted or rejected by a repository's collaborators, with its own discussion forum.

Push: sending your committed changes to a remote repository such as GitHub.com after you’ve changed something locally

Repo or repository: a project's folder, containing all of the project files (including documentation) and revision history. Repositories can have multiple collaborators.