This documentation contains a set of guidelines to help you during the contribution process. We are happy to welcome all the contributions from anyone willing to improve/add new functionalities to this project. Thank you for helping out and remember, no contribution is too small.
Below you will find the process and workflow used to review and merge your changes.
- Take a look at the Existing Issues or create your own Issues!
- Wait for the Issue to be assigned to you after which you can start working on it.
- Note: Every change in this project should/must have an associated issue.
- Fork this Repository. This will create a Local Copy of this Repository on your Github Profile. Keep a reference to the original project in
upstream
remote.
$ git clone https://github.com/<your-username>/<repo-name>
$ cd <repo-name>
$ git remote add upstream https://github.com/<upstream-owner>/<repo-name>
- If you have already forked the project, update your copy before working.
$ git remote update
$ git checkout <branch-name>
$ git rebase upstream/<branch-name>
Create a new branch. Use its name to identify the issue your addressing.
# It will create a new branch with name Branch_Name and switch to that branch
$ git checkout -b branch_name
- Work on the issue(s) assigned to you.
- Add all the files/folders needed.
- After you've made changes or made your contribution to the project add changes to the branch you've just created by:
# To add all new files to branch Branch_Name
$ git add .
- To commit give a descriptive message for the convenience of reveiwer by:
# This message get associated with all files you have changed
$ git commit -m 'message'
- NOTE: A PR should have only one commit. Multiple commits should be squashed.
- Features: If you're working on implementing a feature, the commit should begin with
feat: 'Brief Description'
- Chores: If you're working on code refactoring, or similar chores, your commit should begin with
chore: 'Brief Description'
- Documentation: If you're working on documentation, your commit should begin with
docs: 'Brief Description'
- Now you are ready to your work to the remote repository.
- When your work is ready and complies with the project conventions, upload your changes to your fork:
# To push your work to your remote repository
$ git push -u origin Branch_Name
- Go to your repository in browser and click on compare and pull requests. Then add a title and description to your pull request that explains your contribution.
- Voila! Your Pull Request has been submitted and will be reviewed by the moderators and merged.🥳
You can refer to the following articles on basics of Git and Github and also contact the Project Mentors, in case you are stuck:
- Forking a Repo
- Cloning a Repo
- How to create a Pull Request
- Getting started with Git and GitHub
- Learn GitHub from Scratch
It always takes time to understand and learn. So, do not worry at all. We know you have got this!💪