Forking involves creating a copy of the repository for your github account. You can merge with the original repository via a pull request. Cloning creates a copy of a repository for your local machine. Special permissions are needed to push to the original repository Branches are short lived versions of the primary project that are made to test small edits before being merged back to the master branch.