Make sure you have reviewed the contributing guide.
Good pull requests - bug fixes, improvements, new features - are a fantastic help. They should remain focused in scope and avoid containing unrelated commits.
Please ask before embarking on any significant pull request (e.g. implementing features, refactoring code), otherwise you risk spending a lot of time working on something that the project team might not want to merge into the code base.
Please adhere to the coding conventions used throughout the project (indentation, comments, etc.).
Adhering to the following this process is the best way to get your work merged:
-
Fork the repo, clone your fork, and configure the remotes:
# Clone your fork of the repo into the current directory git clone https://github.com/<your-username>/<repo-name> # Navigate to the newly cloned directory cd <repo-name> # Assign the original repo to a remote called "upstream" git remote add upstream https://github.com/<upsteam-owner>/<repo-name>
-
If you cloned a while ago, get the latest changes from upstream:
git checkout <dev-branch> git pull upstream <dev-branch>
-
Create a new topic branch (off the main project development branch) to contain your feature, change, or fix:
git checkout -b <topic-branch-name>
-
Commit your changes in logical chunks. Please adhere to the git commit message guidelines below or your code is unlikely be merged into the main project.
-
Git commit messages a should be capitalized, short (50 chars or less) summary
-
Add additional explanatory text, if necessary.
-
Write your commit message in the imperative: "Fix bug" and not "Fixed bug" or "Fixes bug." This convention matches up with commit messages generated by commands like git merge and git revert.
-
Further paragraphs come after blank lines.
-
Bullet points are okay, too. A hyphen or asterisk is used for the bullet, followed by a single space, with blank lines in between.
-
Use a hanging indent
-
-
Push your topic branch up to your fork:
git push origin <topic-branch-name>
-
Open a Pull Request with a clear title and description.