clone copiesa a repository to another location where it can be edited. If you are a collaborator, you can also update a repository from a clone that you changed. A fork is for someone who is not a collaborator to get the repository and make their own changes to it but not update the original without permission. a branch is for working on specific updates to a reposiory without changing the master repository in the process. It can then be merged when done