--- title: How to Contribute Via a Pull Request --- > A pull request (PR) is a method of submitting contributions to an open source project. It is often the preferred way of submitting contributions to a project using a Distributed Version Control System (DVCS) such as Git. FreeCodeCamp is an Open Source project and all of the contents are freely editable. * Fork the project on GitHub. * Clone it to a local machine. Do not edit online in github.com, as the editor may cause issues with JSON formatted data. * Create a branch with the form `fix/some-bug` or `feature/add-cool-thing` and make your changes in that branch and commit them. * Push the branch online (if editing locally). * Create a pull request against the **"staging"** branch. * The title (also called the subject) of your PR should be descriptive of your changes. i.e. `fix typo in basic-javascript challenge` * If the PR is meant to fix a specific issue, append to the end of your PR's commit message `closes #1337`. This tells GitHub to close that issue if the PR is merged. * Do NOT add issue numbers to the PR's title. i.e. `minor improvements in basic-javascript challenge` These are general guidelines for PR's that work across most projects. It gives everyone a quick guide to your changes when looking at the commit history of a project. _Note: Not all pull requests are accepted. FCC project maintainers will explain the reason of non-acceptance._ ## Further Reading * GitHub & Git Foundations Training - How to use Git and GitHub * FreeCodeCamp Contribution Guidelines * How to write Git commit messages * How to Clone FCC to a Windows PC