page_title: Create a pull request (PR) page_description: Basic workflow for Docker contributions page_keywords: contribute, pull request, review, workflow, beginner, squash, commit # Create a pull request (PR) A pull request (PR) sends your changes to the Docker maintainers for review. You create a pull request on GitHub. A pull request "pulls" changes from your forked repository into the `docker/docker` repository. You can see the list of active pull requests to Docker on GitHub. ## Check your work Before you create a pull request, check your work. 1. In a terminal window, go to the root of your `docker-fork` repository. $ cd ~/repos/docker-fork 2. Checkout your feature branch. $ git checkout 11038-fix-rhel-link Switched to branch '11038-fix-rhel-link' 3. Run the full test suite on your branch. $ make test All the tests should pass. If they don't, find out why and correct the situation. 4. Optionally, if modified the documentation, build the documentation: $ make docs 5. Commit and push any changes that result from your checks. ## Rebase your branch Always rebase and squash your commits before making a pull request. 1. Checkout your feature branch in your local `docker-fork` repository. This is the branch associated with your request. 2. Fetch any last minute changes from `docker/docker`. $ git fetch upstream master From github.com:docker/docker * branch master -> FETCH_HEAD 3. Start an interactive rebase. $ git rebase -i upstream/master 4. Rebase opens an editor with a list of commits. pick 1a79f55 Tweak some of the other text for grammar pick 53e4983 Fix a link pick 3ce07bb Add a new line about RHEL 5. Replace the `pick` keyword with `squash` on all but the first commit. pick 1a79f55 Tweak some of the other text for grammar squash 53e4983 Fix a link squash 3ce07bb Add a new line about RHEL After you save the changes and quit from the editor, git starts the rebase, reporting the progress along the way. Sometimes your changes can conflict with the work of others. If git encounters a conflict, it stops the rebase, and prints guidance for how to correct the conflict. 6. Edit and save your commit message. `git commit -s` Make sure your message includes