Technical workflow
I would suggest the following workflow:
- Fork the repository (via GitHub web interface: "Fork" button)
- In your forked repository, copy the URL
Clone (in the command line)
git clone <url-from-your-workspace>
Enter the directory, that just got created, and create a branch
cd <directory>
git checkout -b <branchname>
Now make your changes
You can create one or more commits after each change:
commit -a
When done, push your changes
git push origin <branch>
In your command line, you should see a URL to create the PR. Visit the URL and click the button to create a PR.
If not, visit the repository in the browser and it will offer you a button for creating the pull request
That's it.
So, basically, you forked the repository to your workspace, created a new branch and pushed that new branch.
If you later make more PR from the same cloned repo, you should synchronize (get the latest changes from the original repository) before you create another branch for another PR:
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master
Other considerations:
- the project may have Contribution Guidelines: Look for a file CONTRIBUTING.rst or .md
- you may want to follow the coding guidelines for the project
- you may want to outline your idea as issue first
- you may want to look at the Pull Requests tab for the project and check if there are open PR, merged PR
These suggestions are here to save you from the trouble of putting work into a PR that will not get merged. If there is activity in the project and PR get merged, this is a good sign. If there are Contribution Guidelines, follow them.
Always be courteous. Remember, the maintainers of the project are in no way obligated to merge your PR. Do you have something valuable to add to the project?