Link Search Menu Expand Document

Fork & Pull

There are various collaboration models that a project can use for developers to work together on code. A project will declare its model and stick with it. The MDI uses the model known as “Fork & Pull” or the “Forking Workflow”.

Open source code projects

Understanding the Fork & Pull collaboration model requires a basic understanding of Open Source software, which means that the code for a project is publicly available for others to see and use, according to license grants beyond the scope of this tutorial.

On GitHub, this means that a developer has set the status of a code repository to “Public”. For example, the content for this Basic Training web site is a public repo distributed under the CC BY-NC 4.0 license.

Learn the basics

As always, there are many internet resources to help you understand forking and pulling into a git code repository.

The concepts you want to understand are that:

  • Project maintainers control the code in the “definitive” repository
  • Code developers:
    • fork a copy of the repo to their own GitHub account
    • clone their fork of the code to their local computer
    • edit code toward some purpose
    • push their changes to their fork, in their own GitHub account
    • make a “pull request” to the project maintainers to have their code incorporated into the definitive repository

The next Exercise will walk you through these steps.