yep, fork the project. Push your commits to main or to a branch in the fork. Then you can use the UI to create a pull req. Optional but nice, in the pull req or commits you can reference a GitHub issue with #123 (issue number with pound #)
Discussion
Thanks! How do forks work? Is it a mirror of the project, including new development? Or do toy make a fork of the project at that exact moment and new development won't get added to the fork?
Let's say I'm slow and the file gets some developtment, will the PR be based on an old state?
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