HOW TO CONTRIBUTE TO OPEN SOURCE accepts PR's(pull requests) from newbies only, this is to help newbies get familiar with contribution processes.
Issues can be submitted by anyone, seasoned developers or newbies.
-
If you are new to Git and Github, it is advisable you go through this link before moving to the next step.
-
Fork the project on Github, Help Guide to Fork a repository.
-
Clone the project.
-
Create a branch specific to the issue you are working on.
git checkout -b update-readme-file
For clarity to yourself and others on the issue you're working on, name your branch something like
update-xxx
orfix-xxx
wherexxx
is a short description of the changes you're making. For exampleupdate-readme
orfix-typo-on-contribution-md
. -
Open up the project in your favourite text editor, select the file you want to contribute to and make your changes.
If you are making changes to the README.md file, you would need to have Markdown knowledge. Visit here to read about Github Markdown and here to practice
- If you are adding a new project/organisation to the README, make sure it's listed in alphabetical order.
- If you are adding a new organisation, make sure you add an organisation label to the organisation name. This would help distinguish projects from organisation projects.
-
After making your changes in the new git branch then add your modified files to git, How to add, commit, push and go
git add path/to/filename.ext
You can also add all unstaged files using:
git add .
Note, using a
git add .
will automatically add all files. You can do agit status
to see your changes, but do it beforegit add
. -
Commit your changes using a descriptive commit message.
git commit -m "Brief Description of Commit"
-
Push your commits to your Github Fork:
git push -u origin branch-name
-
Submit a pull request.
Within GitHub, visit this main repository and you should see a banner suggesting to make a pull request. While you're writing up the pull request, you can add
Closes #XXX
in the message body where#XXX
is the issue you're fixing. So an example would beCloses #42
would close issue#42
.
What is a pull request? Visit link
If you decide to fix an issue, it's advisable to check the comment thread in case there's somebody already working on a fix. If no-one is working on it at the moment, kindly leave a comment stating that you intend to work on it so other people don't accidentally duplicate your effort.
In a situation where by somebody decides to fix an issue but doesn't follow up for a particular period of time, say 2-3 weeks, it's acceptable to still pick up the issue but make sure to leave a comment.
Note: Every open-source project has a CONTRIBUTING.md file, please make sure to read theirs before you open up a pull request, otherwise your pull request may be rejected. However if you do not see any contributing.md file, you can send a pull request but do it in a descriptive manner.