p5.js-web-editor/developer_docs/preparing_a_pull_request.md
2019-03-26 19:15:58 +05:30

56 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Preparing a pull request
Copied from the [p5.js repository](https://github.com/processing/p5.js).
Pull-requests are easier when your code is up to date! You can use git rebase to update your code to incorporate changes from other contributors. Here's how.
## Save and Update
### Save everything you have!
git status
git add -u
git commit
### Find out about changes
Make sure you're tracking upstream p5.js repository.
git remote show upstream
If you see an error, you'll need to start tracking the main p5.js repo as an "upstream" remote repository. You'll only need to do this once! But, no harm is done if you run it a second time.
git remote add upstream https://github.com/processing/p5.js
Then ask git about the latest changes.
git fetch upstream
### Just in case: make a copy of your changes in a new branch
git branch your-branch-name-backup
### Apply changes from master branch, adds your changes *after*
git rebase upstream/master
### Switches back to master branch
git checkout master
### Helps other contributors fully understand the changes that you made
git commit -m "Fixed documentation typos"
### Verifies what git will be committing
git status
## CONFLICTS
You will probably have some conflicts!
If its just lib/p5.js and lib/p5.min.js, its easy to fix. just build the project again with grunt.
grunt
git add -u
git rebase --continue
If you have conflicts in other files & you're not sure how to resolve them... ask for help! Lauren, David, Kevin, and Kate are familiar with recent changes and can help you figure out what's new.
## And finally, for great glory
git push --set-upstream origin your-branch-name-backup
Here's a good reference on rebasing, in case you're intensely curious about the technical details. https://www.atlassian.com/git/tutorials/merging-vs-rebasing