Step 1: Fork the "upstream" repo. This creates an "origin" repo under your own control.
Step 2: Clone the forked repo.
Step 3: Add "upstream" remote address
Step 4: Checkout a new feature branch, and make commits there, and push commits to origin branch. Optionally create a PR against your origin repo to do a preliminary code review, post comments, etc.
Step 5. When ready, create a PR against the upstream repo.
Step 6: A maintainer of the upstream repo will review your PR, and if everything looks good, merge your changes in to the upstream master branch.
Step 1: Fork the "upstream" repo. This creates an "origin" repo under your own control. Step 2: Clone the forked repo. Step 3: Add "upstream" remote address Step 4: Checkout a new feature branch, and make commits there, and push commits to origin branch. Optionally create a PR against your origin repo to do a preliminary code review, post comments, etc. Step 5. When ready, create a PR against the upstream repo. Step 6: A maintainer of the upstream repo will review your PR, and if everything looks good, merge your changes in to the upstream master branch.
After your pull request is merged:
If something goes wrong, you can reset your repo to reflect the current state of the upstream repo: