---
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