There are enough steps in the GitHub pull request workflow that I wrote them down for reference.
Fork a Project
To fork a project, just go to the GitHub project page and click “Fork”. You'll need a GitHub account, and to be logged in for this to work. GitHub will create a fork of the upstream project in your account.
Then you'll need to clone the project so that you have a copy of it checked out on your computer:
git clone git@github.com:YOUR-USERNAME/ORIGINAL-PROJECT.git
Change directories so that you’re at the root of the checked out project directory:
cd ORIGINAL-PROJECT/
Track the upstream repo:
git remote add upstream \
https://github.com/UPSTREAM-USER/ORIGINAL-PROJECT.git
Verify the new remote named “upstream”:
git remote -v
Update Fork From Upstream
Fetch upstream updates:
git fetch upstream
View all branches:
git branch -va
Merge “upstream” into our main branch:
git checkout main
git merge upstream/main
Feature Development / Bug Fix Cycle
Switch to the “main” branch, as the source of our new feature branch:
git checkout main
Create the new feature branch and check it out as our local copy:
git branch NEWFEATURE
git checkout NEWFEATURE
Add your new feature or bug fix here...
Fetch upstream main branch and merge into our main branch:
git fetch upstream
git checkout main
git merge upstream/main
If there were any new commits, rebase development branch:
git checkout NEWFEATURE
git rebase main
Push local feature branch to remote feature branch:
# the first time you have to set it as the upstream branch
#git push --set-upstream origin NEWFEATURE
git push origin NEWFEATURE
Create pull request. Go to the GitHub page for the feature branch and click “pull request”.
The pull request gets accepted or rejected.
Delete feature branch once accepted:
git push origin --delete NEWFEATURE
git branch -d NEWFEATURE