p5.js-web-editor/developer_docs/preparing_a_pull_request.md

57 lines
1.8 KiB
Markdown
Raw Normal View History

# 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
2019-03-26 13:45:58 +00:00
### Save everything you have!
git status
git add -u
2019-03-26 13:45:58 +00:00
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.
2019-03-26 13:45:58 +00:00
git fetch upstream
### Just in case: make a copy of your changes in a new branch
2019-03-26 13:45:58 +00:00
git branch your-branch-name-backup
2019-03-26 13:45:58 +00:00
### 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
2019-03-26 13:45:58 +00:00
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.
2019-03-26 13:45:58 +00:00
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
2019-03-26 13:45:58 +00:00
git push --set-upstream origin your-branch-name-backup
2019-03-26 13:45:58 +00:00
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