|
| 1 | +# Contributing Guidelines |
| 2 | + |
| 3 | +This documentation contains a set of guidelines to help you during the contribution process. |
| 4 | +We are happy to welcome all the contributions from anyone willing to improve/add new scripts to this project. |
| 5 | +Thank you for helping out and remember, **no contribution is too small.** |
| 6 | + |
| 7 | + |
| 8 | +## Need some help regarding the basics?🤔 |
| 9 | + |
| 10 | + |
| 11 | +You can refer to the following articles on basics of Git and Github and also contact the Project Mentors, |
| 12 | +in case you are stuck: |
| 13 | + |
| 14 | +- [Forking a Repo](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) |
| 15 | +- [Cloning a Repo](https://help.github.com/en/desktop/contributing-to-projects/creating-an-issue-or-pull-request) |
| 16 | +- [How to create a Pull Request](https://opensource.com/article/19/7/create-pull-request-github) |
| 17 | +- [Getting started with Git and GitHub](https://towardsdatascience.com/getting-started-with-git-and-github-6fcd0f2d4ac6) |
| 18 | +- [Learn GitHub from Scratch](https://lab.github.com/githubtraining/introduction-to-github) |
| 19 | + |
| 20 | +## Submitting Contributions👩💻👨💻 |
| 21 | + |
| 22 | +Below you will find the process and workflow used to review and merge your changes. |
| 23 | + |
| 24 | +### Step 0 : Find an issue |
| 25 | + |
| 26 | +- Take a look at the Existing Issues or create your **own** Issues! |
| 27 | +- Wait for the Issue to be assigned to you after which you can start working on it. |
| 28 | +- Note : Every change in this project should/must have an associated issue. |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | + |
| 33 | +### Step 1 : Fork the Project |
| 34 | + |
| 35 | +- Fork this Repository. This will create a Local Copy of this Repository on your Github Profile. |
| 36 | +Keep a reference to the original project in `upstream` remote. |
| 37 | + |
| 38 | +```bash |
| 39 | +git clone https://github.com/<your-username>/<repo-name> |
| 40 | +cd <repo-name> |
| 41 | +git remote add upstream https://github.com/<upstream-owner>/<repo-name> |
| 42 | +``` |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | +- If you have already forked the project, update your copy before working. |
| 48 | + |
| 49 | +```bash |
| 50 | +git remote update |
| 51 | +git checkout <branch-name> |
| 52 | +git rebase upstream/<branch-name> |
| 53 | +``` |
| 54 | + |
| 55 | +### Step 2 : Branch |
| 56 | + |
| 57 | +Create a new branch. Use its name to identify the issue your addressing. |
| 58 | + |
| 59 | +```bash |
| 60 | +# It will create a new branch with name Branch_Name and switch to that branch |
| 61 | +git checkout -b branch_name |
| 62 | +``` |
| 63 | + |
| 64 | +### Step 3 : Work on the issue assigned |
| 65 | + |
| 66 | +- Work on the issue(s) assigned to you. |
| 67 | +- Add all the files/folders needed. |
| 68 | +- After you've made changes or made your contribution to the project add changes to the branch you've just created by: |
| 69 | + |
| 70 | +```bash |
| 71 | +# To add all new files to branch Branch_Name |
| 72 | +git add . |
| 73 | +# To add only a few files to Branch_Name |
| 74 | +git add <some files> |
| 75 | +``` |
| 76 | + |
| 77 | +### Step 4 : Commit |
| 78 | + |
| 79 | +- To commit give a descriptive message for the convenience of reviewer by: |
| 80 | + |
| 81 | +```bash |
| 82 | +# This message get associated with all files you have changed |
| 83 | +git commit -m "message" |
| 84 | +``` |
| 85 | + |
| 86 | +- **NOTE**: A PR should have only one commit. Multiple commits should be squashed. |
| 87 | + |
| 88 | +### Step 5 : Work Remotely |
| 89 | + |
| 90 | +- Now you are ready to your work to the remote repository. |
| 91 | +- When your work is ready and complies with the project conventions, upload your changes to your fork: |
| 92 | + |
| 93 | +```bash |
| 94 | +# To push your work to your remote repository |
| 95 | +git push -u origin Branch_Name |
| 96 | +``` |
| 97 | + |
| 98 | +- Here is how your branch will look. |
| 99 | + |
| 100 | + |
| 101 | + |
| 102 | +### Step 6 : Pull Request |
| 103 | + |
| 104 | +- Go to your repository in browser and click on compare and pull requests. |
| 105 | +Then add a title and description to your pull request that explains your contribution. |
| 106 | + |
| 107 | + |
| 108 | + |
| 109 | +- Yay, Your Pull Request has been submitted and will be reviewed by the moderators and merged. |
| 110 | + |
| 111 | + |
0 commit comments