Any shadowy super coder can help me make my first pull request? I know what file to edit and how to edit it. Just not sure about the process of an actual pull request. Do I fork the whole project? What to do from there? Can I PR some lines or do I need to PR the whole file or even project?

Reply to this note

Please Login to reply.

Discussion

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 #)

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

Follow up question for shadowy super coders:

The project got multiple languages and because of this multiple files to edit. Can I make one pull request with multiple files, or do I need to PR each file edit?

nostr:nevent1qqsg3sdet5vcr48f63ws3szekhs3la8lujftnlqxncrsk6gx7unf4qqpz9mhxue69uhkummnw3ezuamfdejj7q3qmhamq6nj9egex0xn0e8vmvctrpj0ychehddadsketjlwl3eg7ztqxpqqqqqqzmjaygw