you do have to keep your fork up to date sometimes, to maximize the chances of your pull-req being accepted or if there is a conflict. you can 'float' your commits by rebasing from main once in a while. example of my workflow:
you clone the project like normal from main
first you make the fork in github
in that same checkout locally, you add a remote for your new fork: git remote add -f mee git@github.com:mee/amethyst.git
now you can do things like: git checkout -b mee_main --track mee/main
commit your changes to mee_main, then push to mee_main
git push --tags mee HEAD:main
then you can make a pull req.
to update this with latest commits you would:
git checkout main
git pull
git checkout mee_main
git rebase -i main
the rebase will interactively help you float your commits or squash them
after doing a rebase like this, you have to force push your fork, but the benefit is the easy merge by the upstream
git push -f mee HEAD:main